geany-plugins-1.32/0000755000175000017500000000000013204275165014514 5ustar00frlanfrlan00000000000000geany-plugins-1.32/markdown/0000755000175000017500000000000013204275163016334 5ustar00frlanfrlan00000000000000geany-plugins-1.32/markdown/Makefile.in0000644000175000017500000006501513204251774020412 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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.32/markdown/Makefile.am0000644000175000017500000000023013132733713020363 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk SUBDIRS = if MARKDOWN_PEG_MARKDOWN SUBDIRS += peg-markdown endif SUBDIRS += src docs plugin = markdown geany-plugins-1.32/markdown/AUTHORS0000644000175000017500000000004513132733713017403 0ustar00frlanfrlan00000000000000Matthew Brush geany-plugins-1.32/markdown/NEWS0000644000175000017500000000000013132733713017021 0ustar00frlanfrlan00000000000000geany-plugins-1.32/markdown/docs/0000755000175000017500000000000013204275163017264 5ustar00frlanfrlan00000000000000geany-plugins-1.32/markdown/docs/plugin.png0000644000175000017500000060224313132733713021277 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.32/markdown/docs/Makefile.in0000644000175000017500000004746413204251774021352 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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.32/markdown/docs/plugin_small.png0000644000175000017500000034254213132733713022472 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.32/markdown/docs/plugin_prefs.png0000644000175000017500000007237113132733713022501 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.32/markdown/docs/set_filetype.png0000644000175000017500000021251613132733713022475 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.32/markdown/docs/plugin_mgr.png0000644000175000017500000016154413132733713022150 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.32/markdown/COPYING0000644000175000017500000004325413132733713017377 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.32/markdown/ChangeLog0000644000175000017500000000000013132733713020074 0ustar00frlanfrlan00000000000000geany-plugins-1.32/markdown/src/0000755000175000017500000000000013204275163017123 5ustar00frlanfrlan00000000000000geany-plugins-1.32/markdown/src/Makefile.in0000644000175000017500000010222213204251774021171 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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_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.32/markdown/src/markdown-gtk-compat.h0000644000175000017500000000422413132733713023164 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.32/markdown/src/viewer.h0000644000175000017500000000436613171306761020610 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); gchar *markdown_viewer_get_html(MarkdownViewer *self); G_END_DECLS #endif /* __MARKDOWNVIEWER_H__ */ geany-plugins-1.32/markdown/src/viewer.c0000644000175000017500000003121413171306761020573 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 #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); } } 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) { gchar *base_path; gchar *base_uri; /* A file URI not a path URI; last component is stripped */ GError *error = NULL; GeanyDocument *doc = document_get_current(); /* If the current document has a known path (ie. is saved), use that, * substituting the file's basename for `index.html`. */ if (DOC_VALID(doc) && doc->real_path != NULL) { gchar *base_dir = g_path_get_dirname(doc->real_path); base_path = g_build_filename(base_dir, "index.html", NULL); g_free(base_dir); } /* Otherwise assume use a file `index.html` in the current working directory. */ else { gchar *cwd = g_get_current_dir(); base_path = g_build_filename(cwd, "index.html", NULL); g_free(cwd); } base_uri = g_filename_to_uri(base_path, NULL, &error); if (base_uri == NULL) { g_warning("failed to encode path '%s' as URI: %s", base_path, error->message); g_error_free(error); base_uri = g_strdup("file://./index.html"); g_debug("using phony base URI '%s', broken relative paths are likely", base_uri); } g_free(base_path); /* 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(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.32/markdown/src/Makefile.am0000644000175000017500000000152213132733713021157 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_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.32/markdown/src/conf.h0000644000175000017500000000511313132733713020221 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.32/markdown/src/plugin.c0000644000175000017500000002716613171306761020603 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_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; static GtkWidget *g_export_html = 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); static void on_export_as_html_activate(GtkMenuItem *item, 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); g_export_html = gtk_menu_item_new_with_label(_("Export Markdown as HTML...")); gtk_menu_shell_append(GTK_MENU_SHELL(data->main_widgets->tools_menu), g_export_html); g_signal_connect(g_export_html, "activate", G_CALLBACK(on_export_as_html_activate), viewer); gtk_widget_show(g_export_html); #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_export_html); 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); gtk_widget_set_sensitive(g_export_html, TRUE); } else { markdown_viewer_set_markdown(viewer, _("The current document does not have a Markdown filetype."), "UTF-8"); gtk_widget_set_sensitive(g_export_html, FALSE); } 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); } static gchar *replace_extension(const gchar *utf8_fn, const gchar *new_ext) { gchar *fn_noext, *new_fn, *dot; fn_noext = g_filename_from_utf8(utf8_fn, -1, NULL, NULL, NULL); dot = strrchr(fn_noext, '.'); if (dot != NULL) { *dot = '\0'; } new_fn = g_strconcat(fn_noext, new_ext, NULL); g_free(fn_noext); return new_fn; } static void on_export_as_html_activate(GtkMenuItem *item, MarkdownViewer *viewer) { GtkWidget *dialog; GtkFileFilter *filter; gchar *fn; GeanyDocument *doc; gboolean saved = FALSE; doc = document_get_current(); g_return_if_fail(DOC_VALID(doc)); dialog = gtk_file_chooser_dialog_new(_("Save HTML File As"), GTK_WINDOW(geany_data->main_widgets->window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE); fn = replace_extension(DOC_FILENAME(doc), ".html"); if (g_file_test(fn, G_FILE_TEST_EXISTS)) { /* If the file exists, GtkFileChooser will change to the correct * directory and show the base name as a suggestion. */ gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), fn); } else { /* If the file doesn't exist, change the directory and give a suggested * name for the file, since GtkFileChooser won't do it. */ gchar *dn = g_path_get_dirname(fn); gchar *bn = g_path_get_basename(fn); gchar *utf8_name; gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), dn); g_free(dn); utf8_name = g_filename_to_utf8(bn, -1, NULL, NULL, NULL); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), utf8_name); g_free(bn); g_free(utf8_name); } g_free(fn); filter = gtk_file_filter_new(); gtk_file_filter_set_name(filter, _("HTML Files")); gtk_file_filter_add_mime_type(filter, "text/html"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); filter = gtk_file_filter_new(); gtk_file_filter_set_name(filter, _("All Files")); gtk_file_filter_add_pattern(filter, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); while (!saved && gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { gchar *html = markdown_viewer_get_html(viewer); GError *error = NULL; fn = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); if (! g_file_set_contents(fn, html, -1, &error)) { dialogs_show_msgbox(GTK_MESSAGE_ERROR, _("Failed to export Markdown HTML to file '%s': %s"), fn, error->message); g_error_free(error); } else { saved = TRUE; } g_free(fn); g_free(html); } gtk_widget_destroy(dialog); } geany-plugins-1.32/markdown/src/markdown-gtk-compat.c0000644000175000017500000000757413132733713023172 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.32/markdown/src/conf.c0000644000175000017500000005204413132733713020221 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.32/markdown/peg-markdown/0000755000175000017500000000000013204275163020727 5ustar00frlanfrlan00000000000000geany-plugins-1.32/markdown/peg-markdown/Makefile.in0000644000175000017500000010674713204251774023015 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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.32/markdown/peg-markdown/markdown_peg.h0000644000175000017500000000355213132733713023562 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.32/markdown/peg-markdown/odf.c0000644000175000017500000002530213132733713021645 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.32/markdown/peg-markdown/markdown_lib.h0000644000175000017500000000105313132733713023547 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.32/markdown/peg-markdown/odf.h0000644000175000017500000000025113132733713021646 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.32/markdown/peg-markdown/Makefile.am0000644000175000017500000000110213132733713022755 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.32/markdown/peg-markdown/parsing_functions.c0000644000175000017500000000545213132733713024634 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.32/markdown/peg-markdown/utility_functions.c0000644000175000017500000001402313132733713024666 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.32/markdown/peg-markdown/markdown_parser.c0000644000175000017500000123531213204252232024270 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.32/markdown/peg-markdown/markdown_parser.leg0000644000175000017500000007405713132733713024633 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.32/markdown/peg-markdown/markdown_output.c0000644000175000017500000011155013132733713024340 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.32/markdown/peg-markdown/parsing_functions.h0000644000175000017500000000112613132733713024633 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.32/markdown/peg-markdown/markdown_lib.c0000644000175000017500000001570213132733713023550 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.32/markdown/peg-markdown/README0000644000175000017500000001714513132733713021617 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.32/markdown/peg-markdown/peg-0.1.9/0000755000175000017500000000000013204275163022145 5ustar00frlanfrlan00000000000000geany-plugins-1.32/markdown/peg-markdown/peg-0.1.9/tree.h0000644000175000017500000000757413132733713023272 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.32/markdown/peg-markdown/peg-0.1.9/leg.c0000644000175000017500000012750613132733713023073 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.32/scope/data/Continue22.png0000644000175000017500000000216513132733713021176 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.32/scope/data/StepOver22.png0000644000175000017500000000164613132733713021164 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.32/scope/data/StepOver.png0000644000175000017500000000130413132733713021007 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.32/scope/data/StepInto22.png0000644000175000017500000000130413132733713021151 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.32/scope/data/Continue.png0000644000175000017500000000141613132733713021030 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.32/scope/data/RunToCursor22.png0000644000175000017500000000163413132733713021657 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.32/scope/data/RunToCursor.png0000644000175000017500000000136413132733713021513 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.32/scope/data/scope.glade0000644000175000017500000055347213132733713020663 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.32/scope/data/Kill.png0000644000175000017500000000057413132733713020143 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.32/scope/data/Pause22.png0000644000175000017500000000204413132733713020463 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.32/scope/NEWS0000644000175000017500000000530113132733713016321 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.32/scope/docs/0000755000175000017500000000000013204275164016554 5ustar00frlanfrlan00000000000000geany-plugins-1.32/scope/docs/Makefile.in0000644000175000017500000005014513204251775020630 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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.32/scope/docs/codes.html0000644000175000017500000002534613132733713020550 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.32/scope/docs/Makefile.am0000644000175000017500000000023013132733713020602 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.docs.mk plugin = scope pluginhtmldocdir = $(plugindocdir)/html dist_pluginhtmldoc_DATA = \ scope.html \ codes.html geany-plugins-1.32/scope/docs/scope.html0000644000175000017500000010327713132733713020564 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.32/scope/COPYING0000644000175000017500000004310013132733713016654 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.32/scope/ChangeLog0000644000175000017500000005165513132733713017411 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.32/scope/src/0000755000175000017500000000000013204275164016413 5ustar00frlanfrlan00000000000000geany-plugins-1.32/scope/src/stack.h0000644000175000017500000000202213132733713017664 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.32/scope/src/prefs.c0000644000175000017500000002435013132733713017701 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.32/scope/src/local.h0000644000175000017500000000167413132733713017665 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.32/scope/src/break.c0000644000175000017500000011166513132733713017654 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.32/scope/src/scope.c0000644000175000017500000004636513171306761017707 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." "\nThis plugin currently has no maintainer. Would you like to help " "by contributing to this plugin?"), "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 = 0; 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; const char *tooltip_text; } ToolItem; static ToolItem toolbar_items[] = { { RUN_CONTINUE_KB, { "small_run_continue_icon", "large_run_continue_icon" }, NULL, N_("Run/continue") }, { GOTO_CURSOR_KB, { "small_goto_cursor_icon", "large_goto_cursor_icon" }, NULL, N_("Run to cursor") }, { GOTO_SOURCE_KB, { "small_goto_source_icon", "large_goto_source_icon" }, NULL, N_("Run to source") }, { STEP_INTO_KB, { "small_step_into_icon", "large_step_into_icon" }, NULL, N_("Step into") }, { STEP_OVER_KB, { "small_step_over_icon", "large_step_over_icon" }, NULL, N_("Step over") }, { STEP_OUT_KB, { "small_step_out_icon", "large_step_out_icon" }, NULL, N_("Step out") }, { TERMINATE_KB, { "small_terminate_icon", "large_terminate_icon" }, NULL, N_("Terminate") }, { BREAKPOINT_KB, { "small_breakpoint_icon", "large_breakpoint_icon", }, NULL, N_("Toggle breakpoint") }, { -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 = 0; 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 = 0; 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); } static gchar *get_data_dir_path(const gchar *filename) { gchar *prefix = NULL; gchar *path; #ifdef G_OS_WIN32 prefix = g_win32_get_package_installation_directory_of_module(NULL); #elif defined(__APPLE__) if (g_getenv("GEANY_PLUGINS_SHARE_PATH")) return g_build_filename(g_getenv("GEANY_PLUGINS_SHARE_PATH"), PLUGIN, filename, NULL); #endif path = g_build_filename(prefix ? prefix : "", PLUGINDATADIR, filename, NULL); g_free(prefix); return path; } void plugin_init(G_GNUC_UNUSED GeanyData *gdata) { GeanyKeyGroup *scope_key_group; char *gladefile = get_data_dir_path("scope.glade"); 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_widget_set_tooltip_text (GTK_WIDGET (button), tool_item->tooltip_text); 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.32/scope/src/Makefile.in0000644000175000017500000015007713204251775020474 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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 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.32/scope/src/parse.c0000644000175000017500000004235013132733713017674 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.32/scope/src/break.h0000644000175000017500000000313213132733713017646 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.32/scope/src/prefs.h0000644000175000017500000000426013132733713017704 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.32/scope/src/local.c0000644000175000017500000001443313132733713017655 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.32/scope/src/inspect.h0000644000175000017500000000276613132733713020243 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.32/scope/src/tooltip.h0000644000175000017500000000202713132733713020256 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.32/scope/src/inspect.c0000644000175000017500000010123613132733713020226 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.32/scope/src/register.h0000644000175000017500000000236613132733713020416 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.32/scope/src/Makefile.am0000644000175000017500000000172713171743052020455 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 include $(top_srcdir)/build/cppcheck.mk geany-plugins-1.32/scope/src/parse.h0000644000175000017500000000613113132733713017676 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.32/scope/src/views.c0000644000175000017500000004416513132733713017725 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.32/scope/src/menu.h0000644000175000017500000000724013132733713017532 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.32/scope/src/common.h0000644000175000017500000000250013132733713020050 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.32/scope/src/tooltip.c0000644000175000017500000001151213132733713020250 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.32/scope/src/plugme.h0000644000175000017500000000254713132733713020064 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.32/scope/src/debug.h0000644000175000017500000000465013132733713017656 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.32/scope/src/register.c0000644000175000017500000003233613132733713020411 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.32/scope/src/program.c0000644000175000017500000004523113171306761020234 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_SELECT_FOLDER, 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.32/scope/src/conterm.h0000644000175000017500000000273713132733713020243 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.32/scope/src/store/0000755000175000017500000000000013204275164017547 5ustar00frlanfrlan00000000000000geany-plugins-1.32/scope/src/store/scptreestore.c0000644000175000017500000015534513171743052022451 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)); for (elem = elem->parent; elem->parent; elem = 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.32/scope/src/store/scptreedata.c0000644000175000017500000002706613132733713022224 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.32/scope/src/store/scptreedata.h0000644000175000017500000001012413132733713022214 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.32/scope/src/store/scptreestore.h0000644000175000017500000002065313132733713022447 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.32/scope/src/conterm.c0000644000175000017500000003700113132733713020226 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.32/scope/src/memory.c0000644000175000017500000002547613132733713020104 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.32/scope/src/program.h0000644000175000017500000000377213132733713020243 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.32/scope/src/utils.c0000644000175000017500000004126613171306761017731 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 = 0; 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.32/scope/src/memory.h0000644000175000017500000000173113132733713020075 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.32/scope/src/thread.h0000644000175000017500000000353413132733713020037 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.32/scope/src/watch.h0000644000175000017500000000215413132733713017673 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.32/scope/src/scope.h0000644000175000017500000000220413132733713017672 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.32/scope/src/stack.c0000644000175000017500000002240313132733713017664 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.32/scope/src/watch.c0000644000175000017500000002360613132733713017673 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.32/scope/src/utils.h0000644000175000017500000001103413132733713017722 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.32/scope/src/thread.c0000644000175000017500000005234113132733713020032 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.32/scope/src/plugme.c0000644000175000017500000001422013132733713020046 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.32/scope/src/debug.c0000644000175000017500000003463413171306761017660 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: %s."), pref_gdb_executable, 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.32/scope/src/store.h0000644000175000017500000000060613132733713017721 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.32/scope/src/menu.c0000644000175000017500000003507113132733713017530 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.32/scope/src/views.h0000644000175000017500000000606713132733713017731 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.32/scope/README0000644000175000017500000000257313132733713016512 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.32/workbench/0000755000175000017500000000000013204275165016476 5ustar00frlanfrlan00000000000000geany-plugins-1.32/workbench/Makefile.in0000644000175000017500000006470013204251776020554 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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 = workbench 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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 = workbench 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 workbench/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign workbench/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.32/workbench/Makefile.am0000644000175000017500000000011713175374171020535 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk SUBDIRS = src plugin = workbench geany-plugins-1.32/workbench/THANKS0000644000175000017500000000070113171306761017407 0ustar00frlanfrlan00000000000000What's this file about? ----------------------- This file lists all external people that have contributed to this project. Project Organizer Plugin: ------------------------- This plugin is heavily based on code from the Project Organizer plugin. So big thanks go to the author Jiří Techet. Geany and Geany plugins: ------------------------ Thanks to all Geany developers for support and writing an simple, lightweight, open and extensible IDE. geany-plugins-1.32/workbench/AUTHORS0000644000175000017500000000001313171306761017540 0ustar00frlanfrlan00000000000000LarsGit223 geany-plugins-1.32/workbench/NEWS0000644000175000017500000000007613171306761017200 0ustar00frlanfrlan00000000000000Juli 2017 * Created plugin, initial commit (work in progress) geany-plugins-1.32/workbench/COPYING0000644000175000017500000004310013171306761017527 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.32/workbench/ChangeLog0000644000175000017500000000000013171306761020236 0ustar00frlanfrlan00000000000000geany-plugins-1.32/workbench/src/0000755000175000017500000000000013204275165017265 5ustar00frlanfrlan00000000000000geany-plugins-1.32/workbench/src/Makefile.in0000644000175000017500000011505513204251776021343 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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 = workbench/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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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) workbench_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(top_builddir)/utils/src/libgeanypluginutils.la am_workbench_la_OBJECTS = workbench_la-plugin_main.lo \ workbench_la-wb_globals.lo workbench_la-workbench.lo \ workbench_la-wb_project.lo workbench_la-dialogs.lo \ workbench_la-menu.lo workbench_la-popup_menu.lo \ workbench_la-sidebar.lo workbench_la-utils.lo workbench_la_OBJECTS = $(am_workbench_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 = workbench_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(workbench_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 = $(workbench_la_SOURCES) DIST_SOURCES = $(workbench_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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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 = workbench geanyplugins_LTLIBRARIES = workbench.la workbench_la_SOURCES = \ plugin_main.c \ wb_globals.h \ wb_globals.c \ workbench.h \ workbench.c \ wb_project.h \ wb_project.c \ dialogs.h \ dialogs.c \ menu.h \ menu.c \ popup_menu.h \ popup_menu.c \ sidebar.h \ sidebar.c \ utils.h \ utils.c workbench_la_CPPFLAGS = $(AM_CPPFLAGS) \ -DG_LOG_DOMAIN=\"Workbench\" workbench_la_CFLAGS = $(AM_CFLAGS) \ -I$(top_srcdir)/utils/src workbench_la_LIBADD = $(COMMONLIBS) \ $(top_builddir)/utils/src/libgeanypluginutils.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 workbench/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign workbench/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}; \ } workbench.la: $(workbench_la_OBJECTS) $(workbench_la_DEPENDENCIES) $(EXTRA_workbench_la_DEPENDENCIES) $(AM_V_CCLD)$(workbench_la_LINK) -rpath $(geanypluginsdir) $(workbench_la_OBJECTS) $(workbench_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workbench_la-dialogs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workbench_la-menu.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workbench_la-plugin_main.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workbench_la-popup_menu.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workbench_la-sidebar.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workbench_la-utils.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workbench_la-wb_globals.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workbench_la-wb_project.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workbench_la-workbench.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 $@ $< workbench_la-plugin_main.lo: plugin_main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -MT workbench_la-plugin_main.lo -MD -MP -MF $(DEPDIR)/workbench_la-plugin_main.Tpo -c -o workbench_la-plugin_main.lo `test -f 'plugin_main.c' || echo '$(srcdir)/'`plugin_main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/workbench_la-plugin_main.Tpo $(DEPDIR)/workbench_la-plugin_main.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugin_main.c' object='workbench_la-plugin_main.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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -c -o workbench_la-plugin_main.lo `test -f 'plugin_main.c' || echo '$(srcdir)/'`plugin_main.c workbench_la-wb_globals.lo: wb_globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -MT workbench_la-wb_globals.lo -MD -MP -MF $(DEPDIR)/workbench_la-wb_globals.Tpo -c -o workbench_la-wb_globals.lo `test -f 'wb_globals.c' || echo '$(srcdir)/'`wb_globals.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/workbench_la-wb_globals.Tpo $(DEPDIR)/workbench_la-wb_globals.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='wb_globals.c' object='workbench_la-wb_globals.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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -c -o workbench_la-wb_globals.lo `test -f 'wb_globals.c' || echo '$(srcdir)/'`wb_globals.c workbench_la-workbench.lo: workbench.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -MT workbench_la-workbench.lo -MD -MP -MF $(DEPDIR)/workbench_la-workbench.Tpo -c -o workbench_la-workbench.lo `test -f 'workbench.c' || echo '$(srcdir)/'`workbench.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/workbench_la-workbench.Tpo $(DEPDIR)/workbench_la-workbench.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='workbench.c' object='workbench_la-workbench.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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -c -o workbench_la-workbench.lo `test -f 'workbench.c' || echo '$(srcdir)/'`workbench.c workbench_la-wb_project.lo: wb_project.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -MT workbench_la-wb_project.lo -MD -MP -MF $(DEPDIR)/workbench_la-wb_project.Tpo -c -o workbench_la-wb_project.lo `test -f 'wb_project.c' || echo '$(srcdir)/'`wb_project.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/workbench_la-wb_project.Tpo $(DEPDIR)/workbench_la-wb_project.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='wb_project.c' object='workbench_la-wb_project.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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -c -o workbench_la-wb_project.lo `test -f 'wb_project.c' || echo '$(srcdir)/'`wb_project.c workbench_la-dialogs.lo: dialogs.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -MT workbench_la-dialogs.lo -MD -MP -MF $(DEPDIR)/workbench_la-dialogs.Tpo -c -o workbench_la-dialogs.lo `test -f 'dialogs.c' || echo '$(srcdir)/'`dialogs.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/workbench_la-dialogs.Tpo $(DEPDIR)/workbench_la-dialogs.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dialogs.c' object='workbench_la-dialogs.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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -c -o workbench_la-dialogs.lo `test -f 'dialogs.c' || echo '$(srcdir)/'`dialogs.c workbench_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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -MT workbench_la-menu.lo -MD -MP -MF $(DEPDIR)/workbench_la-menu.Tpo -c -o workbench_la-menu.lo `test -f 'menu.c' || echo '$(srcdir)/'`menu.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/workbench_la-menu.Tpo $(DEPDIR)/workbench_la-menu.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='menu.c' object='workbench_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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -c -o workbench_la-menu.lo `test -f 'menu.c' || echo '$(srcdir)/'`menu.c workbench_la-popup_menu.lo: popup_menu.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -MT workbench_la-popup_menu.lo -MD -MP -MF $(DEPDIR)/workbench_la-popup_menu.Tpo -c -o workbench_la-popup_menu.lo `test -f 'popup_menu.c' || echo '$(srcdir)/'`popup_menu.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/workbench_la-popup_menu.Tpo $(DEPDIR)/workbench_la-popup_menu.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='popup_menu.c' object='workbench_la-popup_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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -c -o workbench_la-popup_menu.lo `test -f 'popup_menu.c' || echo '$(srcdir)/'`popup_menu.c workbench_la-sidebar.lo: sidebar.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -MT workbench_la-sidebar.lo -MD -MP -MF $(DEPDIR)/workbench_la-sidebar.Tpo -c -o workbench_la-sidebar.lo `test -f 'sidebar.c' || echo '$(srcdir)/'`sidebar.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/workbench_la-sidebar.Tpo $(DEPDIR)/workbench_la-sidebar.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sidebar.c' object='workbench_la-sidebar.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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -c -o workbench_la-sidebar.lo `test -f 'sidebar.c' || echo '$(srcdir)/'`sidebar.c workbench_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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -MT workbench_la-utils.lo -MD -MP -MF $(DEPDIR)/workbench_la-utils.Tpo -c -o workbench_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/workbench_la-utils.Tpo $(DEPDIR)/workbench_la-utils.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils.c' object='workbench_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) $(workbench_la_CPPFLAGS) $(CPPFLAGS) $(workbench_la_CFLAGS) $(CFLAGS) -c -o workbench_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`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 @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.32/workbench/src/popup_menu.c0000644000175000017500000006034413176653555021642 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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. */ /* * Code for the popup menu. */ #include #include #include #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "wb_globals.h" #include "dialogs.h" #include "sidebar.h" #include "popup_menu.h" #include "utils.h" static struct { GtkWidget *widget; GtkWidget *add_project; GtkWidget *save_project; GtkWidget *remove_project; GtkWidget *fold_unfold_project; GtkWidget *project_open_all; GtkWidget *project_close_all; GtkWidget *add_directory; GtkWidget *remove_directory; GtkWidget *rescan_directory; GtkWidget *directory_settings; GtkWidget *fold_unfold_directory; GtkWidget *directory_open_all; GtkWidget *directory_close_all; GtkWidget *folder_open_all; GtkWidget *folder_close_all; GtkWidget *expand_all; GtkWidget *collapse_all; GtkWidget *add_wb_bookmark; GtkWidget *add_prj_bookmark; GtkWidget *remove_bookmark; } s_popup_menu; /** Show the popup menu. * * The function shows the popup menu. The value of context decides which popup menu items * are enabled and which are disabled. * * @param context The context/situation in which the popup menu was called * @param event Button event. * **/ void popup_menu_show(POPUP_CONTEXT context, GdkEventButton *event) { switch (context) { case POPUP_CONTEXT_PROJECT: gtk_widget_set_sensitive (s_popup_menu.add_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_close_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.add_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.rescan_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_settings, FALSE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_close_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_wb_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_prj_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.remove_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_close_all, FALSE); break; case POPUP_CONTEXT_DIRECTORY: gtk_widget_set_sensitive (s_popup_menu.add_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_close_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.add_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.rescan_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.directory_settings, TRUE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.directory_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.directory_close_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.add_wb_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_prj_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.remove_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_close_all, FALSE); break; case POPUP_CONTEXT_FOLDER: gtk_widget_set_sensitive (s_popup_menu.add_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_close_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.add_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.rescan_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.directory_settings, TRUE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.directory_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.directory_close_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.add_wb_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_prj_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.remove_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.folder_close_all, TRUE); break; case POPUP_CONTEXT_FILE: gtk_widget_set_sensitive (s_popup_menu.add_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_close_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.add_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.rescan_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.directory_settings, TRUE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.directory_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.directory_close_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.add_wb_bookmark, TRUE); gtk_widget_set_sensitive (s_popup_menu.add_prj_bookmark, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.folder_close_all, TRUE); break; case POPUP_CONTEXT_BACKGROUND: gtk_widget_set_sensitive (s_popup_menu.add_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_project, FALSE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_project, FALSE); gtk_widget_set_sensitive (s_popup_menu.project_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.project_close_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.remove_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.rescan_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_settings, FALSE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_close_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_wb_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_prj_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.remove_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_close_all, FALSE); break; case POPUP_CONTEXT_WB_BOOKMARK: gtk_widget_set_sensitive (s_popup_menu.add_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_project, FALSE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_project, FALSE); gtk_widget_set_sensitive (s_popup_menu.project_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.project_close_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.remove_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.rescan_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_settings, FALSE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_close_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_wb_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_prj_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.remove_bookmark, TRUE); gtk_widget_set_sensitive (s_popup_menu.folder_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_close_all, FALSE); break; case POPUP_CONTEXT_PRJ_BOOKMARK: gtk_widget_set_sensitive (s_popup_menu.add_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_project, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_open_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.project_close_all, TRUE); gtk_widget_set_sensitive (s_popup_menu.add_directory, TRUE); gtk_widget_set_sensitive (s_popup_menu.remove_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.rescan_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_settings, FALSE); gtk_widget_set_sensitive (s_popup_menu.fold_unfold_directory, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.directory_close_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_wb_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.add_prj_bookmark, FALSE); gtk_widget_set_sensitive (s_popup_menu.remove_bookmark, TRUE); gtk_widget_set_sensitive (s_popup_menu.folder_open_all, FALSE); gtk_widget_set_sensitive (s_popup_menu.folder_close_all, FALSE); break; } gtk_menu_popup(GTK_MENU(s_popup_menu.widget), NULL, NULL, NULL, NULL, event->button, event->time); } /* Handle popup menu item "Add project" */ static void popup_menu_on_add_project(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { gchar *filename; filename = dialogs_add_project(); if (filename == NULL || wb_globals.opened_wb == NULL) { return; } if (workbench_add_project(wb_globals.opened_wb, filename)) { sidebar_update(SIDEBAR_CONTEXT_PROJECT_ADDED, NULL); } else { dialogs_show_msgbox(GTK_MESSAGE_INFO, _("Could not add project file: %s"), filename); } g_free(filename); } /* Handle popup menu item "Save project" */ static void popup_menu_on_save_project(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { GError *error = NULL; WB_PROJECT *project; project = sidebar_file_view_get_selected_project(NULL); if (project != NULL && wb_globals.opened_wb != NULL) { if (wb_project_save(project, &error)) { SIDEBAR_CONTEXT context; memset(&context, 0, sizeof(context)); context.project = project; sidebar_update(SIDEBAR_CONTEXT_PROJECT_SAVED, &context); } } } /* Handle popup menu item "Remove project" */ static void popup_menu_on_remove_project(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { WB_PROJECT *project; project = sidebar_file_view_get_selected_project(NULL); if (project != NULL && wb_globals.opened_wb != NULL) { if (workbench_remove_project_with_address(wb_globals.opened_wb, project)) { SIDEBAR_CONTEXT context; memset(&context, 0, sizeof(context)); context.project = project; sidebar_update(SIDEBAR_CONTEXT_PROJECT_REMOVED, &context); } } } /* Handle popup menu item "Expand all" */ static void popup_menu_on_expand_all(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { sidebar_expand_all(); } /* Handle popup menu item "Collapse all" */ static void popup_menu_on_collapse_all(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { sidebar_collapse_all(); } /* Handle popup menu item "Fold/unfold project" */ static void popup_menu_on_fold_unfold_project(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { sidebar_toggle_selected_project_expansion(); } /* Handle popup menu item "Open all files" (project) */ static void popup_menu_on_project_open_all (G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { GPtrArray *list; list = sidebar_get_selected_project_filelist(); if (list != NULL) { open_all_files_in_list(list); g_ptr_array_free(list, TRUE); } } /* Handle popup menu item "Close all files" (project) */ static void popup_menu_on_project_close_all (G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { GPtrArray *list; list = sidebar_get_selected_project_filelist(); if (list != NULL) { close_all_files_in_list(list); g_ptr_array_free(list, TRUE); } } /* Handle popup menu item "Add directory" */ static void popup_menu_on_add_directory(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer user_data) { gchar *dirname; WB_PROJECT *project; project = sidebar_file_view_get_selected_project(NULL); if (project != NULL) { dirname = dialogs_add_directory(project); if (dirname != NULL) { SIDEBAR_CONTEXT context; memset(&context, 0, sizeof(context)); context.project = project; wb_project_add_directory(project, dirname); sidebar_update(SIDEBAR_CONTEXT_DIRECTORY_ADDED, &context); g_free(dirname); } } } /* Handle popup menu item "Remove directory" */ static void popup_menu_on_remove_directory(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer user_data) { SIDEBAR_CONTEXT context; if (sidebar_file_view_get_selected_context(&context) && context.project != NULL && context.directory != NULL) { wb_project_remove_directory(context.project, context.directory); sidebar_update(SIDEBAR_CONTEXT_DIRECTORY_REMOVED, &context); } } /* Handle popup menu item "Rescan directory" */ static void popup_menu_on_rescan_directory(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer user_data) { SIDEBAR_CONTEXT context; if (sidebar_file_view_get_selected_context(&context) && context.project != NULL && context.directory != NULL) { wb_project_dir_rescan(context.project, context.directory); sidebar_update(SIDEBAR_CONTEXT_DIRECTORY_RESCANNED, &context); } } /* Handle popup menu item "Directory settings" */ static void popup_menu_on_directory_settings(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer user_data) { SIDEBAR_CONTEXT context; if (sidebar_file_view_get_selected_context(&context) && context.project != NULL && context.directory != NULL) { if (dialogs_directory_settings(context.directory)) { wb_project_set_modified(context.project, TRUE); wb_project_dir_rescan(context.project, context.directory); sidebar_update(SIDEBAR_CONTEXT_DIRECTORY_SETTINGS_CHANGED, &context); } } } /* Handle popup menu item "Directory settings" */ static void popup_menu_on_fold_unfold_directory(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { sidebar_toggle_selected_project_dir_expansion(); } /* Handle popup menu item "Open all files" (directory) */ static void popup_menu_on_directory_open_all (G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { GPtrArray *list; list = sidebar_get_selected_directory_filelist(); if (list != NULL) { open_all_files_in_list(list); g_ptr_array_free(list, TRUE); } } /* Handle popup menu item "Close all files" (directory) */ static void popup_menu_on_directory_close_all (G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { GPtrArray *list; list = sidebar_get_selected_directory_filelist(); if (list != NULL) { close_all_files_in_list(list); g_ptr_array_free(list, TRUE); } } /* Handle popup menu item "Add to workbench bookmarks" */ static void popup_menu_on_add_to_workbench_bookmarks(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { SIDEBAR_CONTEXT context; if (sidebar_file_view_get_selected_context(&context) && context.file != NULL) { workbench_add_bookmark(wb_globals.opened_wb, context.file); sidebar_update(SIDEBAR_CONTEXT_WB_BOOKMARK_ADDED, &context); } } /* Handle popup menu item "Add to project bookmarks" */ static void popup_menu_on_add_to_project_bookmarks(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { SIDEBAR_CONTEXT context; if (sidebar_file_view_get_selected_context(&context) && context.project != NULL && context.file != NULL) { wb_project_add_bookmark(context.project, context.file); sidebar_update(SIDEBAR_CONTEXT_PRJ_BOOKMARK_ADDED, &context); } } /* Handle popup menu item "Remove from bookmarks" */ static void popup_menu_on_remove_from_bookmarks(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { SIDEBAR_CONTEXT context; if (sidebar_file_view_get_selected_context(&context) && context.wb_bookmark != NULL) { workbench_remove_bookmark(wb_globals.opened_wb, context.wb_bookmark); sidebar_update(SIDEBAR_CONTEXT_WB_BOOKMARK_REMOVED, &context); } if (sidebar_file_view_get_selected_context(&context) && context.project != NULL && context.prj_bookmark != NULL) { wb_project_remove_bookmark(context.project, context.prj_bookmark); sidebar_update(SIDEBAR_CONTEXT_PRJ_BOOKMARK_REMOVED, &context); } } /* Handle popup menu item "Open all files" (folder) */ static void popup_menu_on_folder_open_all (G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { GPtrArray *list; list = sidebar_get_selected_folder_filelist(); if (list != NULL) { open_all_files_in_list(list); g_ptr_array_free(list, TRUE); } } /* Handle popup menu item "Close all files" (folder) */ static void popup_menu_on_folder_close_all (G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { GPtrArray *list; list = sidebar_get_selected_folder_filelist(); if (list != NULL) { close_all_files_in_list(list); g_ptr_array_free(list, TRUE); } } /** Setup/Initialize the popup menu. * **/ void popup_menu_init(void) { GtkWidget *item; s_popup_menu.widget = gtk_menu_new(); item = gtk_menu_item_new_with_mnemonic(_("_Add project...")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_add_project), NULL); s_popup_menu.add_project = item; item = gtk_menu_item_new_with_mnemonic(_("_Save project")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_save_project), NULL); s_popup_menu.save_project = item; item = gtk_menu_item_new_with_mnemonic(_("_Remove project")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_remove_project), NULL); s_popup_menu.remove_project = item; item = gtk_menu_item_new_with_mnemonic(_("_Fold/unfold project")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_fold_unfold_project), NULL); s_popup_menu.fold_unfold_project = item; item = gtk_menu_item_new_with_mnemonic(_("_Open all files in project")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_project_open_all), NULL); s_popup_menu.project_open_all = item; item = gtk_menu_item_new_with_mnemonic(_("_Close all files in project")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_project_close_all), NULL); s_popup_menu.project_close_all = item; item = gtk_separator_menu_item_new(); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); item = gtk_menu_item_new_with_mnemonic(_("_Add directory...")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_add_directory), NULL); s_popup_menu.add_directory = item; item = gtk_menu_item_new_with_mnemonic(_("_Remove directory")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_remove_directory), NULL); s_popup_menu.remove_directory = item; item = gtk_menu_item_new_with_mnemonic(_("_Rescan directory")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_rescan_directory), NULL); s_popup_menu.rescan_directory = item; item = gtk_menu_item_new_with_mnemonic(_("_Directory settings")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_directory_settings), NULL); s_popup_menu.directory_settings = item; item = gtk_menu_item_new_with_mnemonic(_("_Fold/unfold directory")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_fold_unfold_directory), NULL); s_popup_menu.fold_unfold_directory = item; item = gtk_menu_item_new_with_mnemonic(_("_Open all files in directory")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_directory_open_all), NULL); s_popup_menu.directory_open_all = item; item = gtk_menu_item_new_with_mnemonic(_("_Close all files in directory")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_directory_close_all), NULL); s_popup_menu.directory_close_all = item; item = gtk_separator_menu_item_new(); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); item = gtk_menu_item_new_with_mnemonic(_("_Open all files in folder")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_folder_open_all), NULL); s_popup_menu.folder_open_all = item; item = gtk_menu_item_new_with_mnemonic(_("_Close all files in folder")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_folder_close_all), NULL); s_popup_menu.folder_close_all = item; item = gtk_separator_menu_item_new(); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); item = gtk_menu_item_new_with_mnemonic(_("_Expand all")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_expand_all), NULL); s_popup_menu.expand_all = item; item = gtk_menu_item_new_with_mnemonic(_("_Collapse all")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_collapse_all), NULL); s_popup_menu.collapse_all = item; item = gtk_separator_menu_item_new(); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); item = gtk_menu_item_new_with_mnemonic(_("_Add to Workbench Bookmarks")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_add_to_workbench_bookmarks), NULL); s_popup_menu.add_wb_bookmark = item; item = gtk_menu_item_new_with_mnemonic(_("_Add to Project Bookmarks")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_add_to_project_bookmarks), NULL); s_popup_menu.add_prj_bookmark = item; item = gtk_menu_item_new_with_mnemonic(_("_Remove from Bookmarks")); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(s_popup_menu.widget), item); g_signal_connect(item, "activate", G_CALLBACK(popup_menu_on_remove_from_bookmarks), NULL); s_popup_menu.remove_bookmark = item; } geany-plugins-1.32/workbench/src/Makefile.am0000644000175000017500000000116413171306761021323 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk plugin = workbench geanyplugins_LTLIBRARIES = workbench.la workbench_la_SOURCES = \ plugin_main.c \ wb_globals.h \ wb_globals.c \ workbench.h \ workbench.c \ wb_project.h \ wb_project.c \ dialogs.h \ dialogs.c \ menu.h \ menu.c \ popup_menu.h \ popup_menu.c \ sidebar.h \ sidebar.c \ utils.h \ utils.c workbench_la_CPPFLAGS = $(AM_CPPFLAGS) \ -DG_LOG_DOMAIN=\"Workbench\" workbench_la_CFLAGS = $(AM_CFLAGS) \ -I$(top_srcdir)/utils/src workbench_la_LIBADD = $(COMMONLIBS) \ $(top_builddir)/utils/src/libgeanypluginutils.la include $(top_srcdir)/build/cppcheck.mk geany-plugins-1.32/workbench/src/wb_project.h0000644000175000017500000000644213173054171021577 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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 __WB_PROJECT_H__ #define __WB_PROJECT_H__ #include typedef struct S_WB_PROJECT WB_PROJECT; typedef struct S_WB_PROJECT_DIR WB_PROJECT_DIR; WB_PROJECT *wb_project_new(const gchar *filename); void wb_project_free(WB_PROJECT *prj); void wb_project_set_modified(WB_PROJECT *prj, gboolean value); gboolean wb_project_is_modified(WB_PROJECT *prj); void wb_project_set_filename(WB_PROJECT *prj, const gchar *filename); const gchar *wb_project_get_filename(WB_PROJECT *prj); const gchar *wb_project_get_name(WB_PROJECT *prj); GSList *wb_project_get_directories(WB_PROJECT *prj); gboolean wb_project_add_directory(WB_PROJECT *prj, const gchar *dirname); gboolean wb_project_remove_directory (WB_PROJECT *prj, WB_PROJECT_DIR *dir); void wb_project_rescan(WB_PROJECT *prj); gboolean wb_project_file_is_included(WB_PROJECT *prj, const gchar *filename); void wb_project_add_single_tm_file(WB_PROJECT *prj, const gchar *filename); void wb_project_remove_single_tm_file(WB_PROJECT *prj, const gchar *filename); void wb_project_dir_set_is_prj_base_dir (WB_PROJECT_DIR *directory, gboolean value); gboolean wb_project_dir_get_is_prj_base_dir (WB_PROJECT_DIR *directory); const gchar *wb_project_dir_get_name (WB_PROJECT_DIR *directory); GHashTable *wb_project_dir_get_file_table (WB_PROJECT_DIR *directory); gchar *wb_project_dir_get_base_dir (WB_PROJECT_DIR *directory); gchar **wb_project_dir_get_file_patterns (WB_PROJECT_DIR *directory); gboolean wb_project_dir_set_file_patterns (WB_PROJECT_DIR *directory, gchar **new); gchar **wb_project_dir_get_ignored_dirs_patterns (WB_PROJECT_DIR *directory); gboolean wb_project_dir_set_ignored_dirs_patterns (WB_PROJECT_DIR *directory, gchar **new); gchar **wb_project_dir_get_ignored_file_patterns (WB_PROJECT_DIR *directory); gboolean wb_project_dir_set_ignored_file_patterns (WB_PROJECT_DIR *directory, gchar **new); guint wb_project_dir_rescan(WB_PROJECT *prj, WB_PROJECT_DIR *root); gchar *wb_project_dir_get_info (WB_PROJECT_DIR *dir); gboolean wb_project_dir_file_is_included(WB_PROJECT_DIR *dir, const gchar *filename); gboolean wb_project_add_bookmark(WB_PROJECT *prj, const gchar *filename); gboolean wb_project_remove_bookmark(WB_PROJECT *prj, const gchar *filename); GPtrArray *wb_project_get_bookmarks(WB_PROJECT *prj); gchar *wb_project_get_bookmark_at_index (WB_PROJECT *prj, guint index); guint wb_project_get_bookmarks_count(WB_PROJECT *prj); gboolean wb_project_save(WB_PROJECT *prj, GError **error); gboolean wb_project_load(WB_PROJECT *prj, gchar *filename, GError **error); gchar *wb_project_get_info (WB_PROJECT *prj); #endif geany-plugins-1.32/workbench/src/menu.h0000644000175000017500000000176713171306761020415 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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 __WB_MENU_H__ #define __WB_MENU_H__ typedef enum { MENU_CONTEXT_WB_CREATED, MENU_CONTEXT_WB_OPENED, MENU_CONTEXT_WB_CLOSED, }MENU_CONTEXT; void menu_set_context(MENU_CONTEXT context); gboolean menu_init(void); void menu_cleanup (void); #endif geany-plugins-1.32/workbench/src/workbench.h0000644000175000017500000000460413171306761021424 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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 __WB_WORKBENCH_H__ #define __WB_WORKBENCH_H__ #include #include "wb_project.h" typedef enum { PROJECT_ENTRY_STATUS_UNKNOWN, PROJECT_ENTRY_STATUS_OK, PROJECT_ENTRY_STATUS_NOT_FOUND, }PROJECT_ENTRY_STATUS; typedef struct S_WORKBENCH WORKBENCH; WORKBENCH *workbench_new(void); void workbench_free(WORKBENCH *wb); gboolean workbench_is_empty(WORKBENCH *wb); guint workbench_get_project_count(WORKBENCH *wb); gboolean workbench_is_modified(WORKBENCH *wb); void workbench_set_rescan_projects_on_open(WORKBENCH *wb, gboolean value); gboolean workbench_get_rescan_projects_on_open(WORKBENCH *wb); WB_PROJECT *workbench_get_project_at_index(WORKBENCH *wb, guint index); PROJECT_ENTRY_STATUS workbench_get_project_status_at_index(WORKBENCH *wb, guint index); PROJECT_ENTRY_STATUS workbench_get_project_status_by_address(WORKBENCH *wb, WB_PROJECT *address); gboolean workbench_add_project(WORKBENCH *wb, const gchar *filename); gboolean workbench_remove_project_with_address(WORKBENCH *wb, WB_PROJECT *project); WB_PROJECT *workbench_file_is_included (WORKBENCH *wb, const gchar *filename); void workbench_set_filename(WORKBENCH *wb, const gchar *filename); const gchar *workbench_get_filename(WORKBENCH *wb); gchar *workbench_get_name(WORKBENCH *wb); gboolean workbench_save(WORKBENCH *wb, GError **error); gboolean workbench_load(WORKBENCH *wb, const gchar *filename, GError **error); gboolean workbench_add_bookmark(WORKBENCH *wb, const gchar *filename); gboolean workbench_remove_bookmark(WORKBENCH *wb, const gchar *filename); gchar *workbench_get_bookmark_at_index (WORKBENCH *wb, guint index); guint workbench_get_bookmarks_count(WORKBENCH *wb); #endif geany-plugins-1.32/workbench/src/dialogs.c0000644000175000017500000003131313171306761021054 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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. */ /* * This file contains all the code for the dialogs. */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "wb_globals.h" #include "dialogs.h" extern GeanyPlugin *geany_plugin; /** Shows the dialog "Create new workbench". * * The dialog lets the user create a new workbench file (filter *.geanywb). * * @return The filename * **/ gchar *dialogs_create_new_workbench(void) { gchar *filename = NULL; GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new(_("Create new workbench"), GTK_WINDOW(wb_globals.geany_plugin->geany_data->main_widgets->window), GTK_FILE_CHOOSER_ACTION_SAVE, _("_Cancel"), GTK_RESPONSE_CANCEL, _("C_reate"), GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), "new.geanywb"); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); } gtk_widget_destroy(dialog); return filename; } /** Shows the dialog "Open workbench". * * The dialog lets the user choose an existing workbench file (filter *.geanywb). * * @return The filename * **/ gchar *dialogs_open_workbench(void) { gchar *filename = NULL; GtkWidget *dialog; GtkFileFilter *filter; dialog = gtk_file_chooser_dialog_new(_("Open workbench"), GTK_WINDOW(wb_globals.geany_plugin->geany_data->main_widgets->window), GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_ACCEPT, NULL); filter = gtk_file_filter_new(); gtk_file_filter_set_name(filter, _("Workbench files (.geanywb)")); gtk_file_filter_add_pattern(filter, "*.geanywb"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); filter = gtk_file_filter_new(); gtk_file_filter_set_name(filter, _("All Files")); gtk_file_filter_add_pattern(filter, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); } gtk_widget_destroy(dialog); return filename; } /** Shows the dialog "Add project". * * The dialog lets the user choose an existing project file * (filter *.geany or *). * * @return The filename * **/ gchar *dialogs_add_project(void) { gchar *filename = NULL; GtkWidget *dialog; GtkFileFilter *filter; dialog = gtk_file_chooser_dialog_new(_("Add project"), GTK_WINDOW(wb_globals.geany_plugin->geany_data->main_widgets->window), GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Add"), GTK_RESPONSE_ACCEPT, NULL); filter = gtk_file_filter_new(); gtk_file_filter_set_name(filter, _("Project files (.geany)")); gtk_file_filter_add_pattern(filter, "*.geany"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); filter = gtk_file_filter_new(); gtk_file_filter_set_name(filter, _("All Files")); gtk_file_filter_add_pattern(filter, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); } gtk_widget_destroy(dialog); return filename; } /** Shows the dialog "Add directory". * * The dialog lets the user choose an existing folder. * * @return The filename * **/ gchar *dialogs_add_directory(WB_PROJECT *project) { gchar *filename = NULL; GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new(_("Add directory"), GTK_WINDOW(wb_globals.geany_plugin->geany_data->main_widgets->window), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Add"), GTK_RESPONSE_ACCEPT, NULL); if (project != NULL) { const gchar *path; /* Set the current folder to the location of the project file */ path = wb_project_get_filename(project); if (path != NULL) { gchar *dirname = g_path_get_dirname(path); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), dirname); g_free(dirname); } } if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); } gtk_widget_destroy(dialog); return filename; } /* Split patterns in str into gchar** */ static gchar **split_patterns(const gchar *str) { GString *tmp; gchar **ret; gchar *input; input = g_strdup(str); g_strstrip(input); tmp = g_string_new(input); g_free(input); do {} while (utils_string_replace_all(tmp, " ", " ")); ret = g_strsplit(tmp->str, " ", -1); g_string_free(tmp, TRUE); return ret; } /** Shows the directory settings dialog. * * The dialog lets the user edit the settings for file patterns, irnored file patterns and * ignored directories patterns. On accept the result is directly stored in @a directory. * * @param directory Location of WB_PROJECT_DIR to store the settings into * @return TRUE if the settings have changed, FALSE otherwise * **/ gboolean dialogs_directory_settings(WB_PROJECT_DIR *directory) { GtkWidget *w_file_patterns, *w_ignored_dirs_patterns, *w_ignored_file_patterns; GtkWidget *dialog, *label, *content_area; GtkWidget *vbox, *hbox, *hbox1, *table; GtkDialogFlags flags; gchar *file_patterns_old, *ignored_file_patterns_old, *ignored_dirs_patterns_old; gboolean changed; /* Create the widgets */ flags = GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT; dialog = gtk_dialog_new_with_buttons(_("Directory settings"), GTK_WINDOW(wb_globals.geany_plugin->geany_data->main_widgets->window), flags, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); vbox = gtk_vbox_new(FALSE, 0); table = gtk_table_new(5, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), 5); gtk_table_set_col_spacings(GTK_TABLE(table), 10); label = gtk_label_new(_("File patterns:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); w_file_patterns = gtk_entry_new(); ui_table_add_row(GTK_TABLE(table), 0, label, w_file_patterns, NULL); ui_entry_add_clear_icon(GTK_ENTRY(w_file_patterns)); gtk_widget_set_tooltip_text(w_file_patterns, _("Space separated list of patterns that are used to identify files " "that shall be displayed in the directory tree.")); file_patterns_old = g_strjoinv(" ", wb_project_dir_get_file_patterns(directory)); gtk_entry_set_text(GTK_ENTRY(w_file_patterns), file_patterns_old); label = gtk_label_new(_("Ignored file patterns:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); w_ignored_file_patterns = gtk_entry_new(); ui_entry_add_clear_icon(GTK_ENTRY(w_ignored_file_patterns)); ui_table_add_row(GTK_TABLE(table), 2, label, w_ignored_file_patterns, NULL); gtk_widget_set_tooltip_text(w_ignored_file_patterns, _("Space separated list of patterns that are used to identify files " "that shall not be displayed in the directory tree.")); ignored_file_patterns_old = g_strjoinv(" ", wb_project_dir_get_ignored_file_patterns(directory)); gtk_entry_set_text(GTK_ENTRY(w_ignored_file_patterns), ignored_file_patterns_old); label = gtk_label_new(_("Ignored directory patterns:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); w_ignored_dirs_patterns = gtk_entry_new(); ui_entry_add_clear_icon(GTK_ENTRY(w_ignored_dirs_patterns)); ui_table_add_row(GTK_TABLE(table), 3, label, w_ignored_dirs_patterns, NULL); gtk_widget_set_tooltip_text(w_ignored_dirs_patterns, _("Space separated list of patterns that are used to identify directories " "that shall not be scanned for source files.")); ignored_dirs_patterns_old = g_strjoinv(" ", wb_project_dir_get_ignored_dirs_patterns(directory)); gtk_entry_set_text(GTK_ENTRY(w_ignored_dirs_patterns), ignored_dirs_patterns_old); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 6); hbox1 = gtk_hbox_new(FALSE, 0); label = gtk_label_new(_("Note: the patterns above affect only the workbench directory and are not used in the Find in Files\n" "dialog.")); gtk_box_pack_start(GTK_BOX(hbox1), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox1, FALSE, FALSE, 6); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 6); /* Add the label, and show everything we’ve added */ gtk_container_add(GTK_CONTAINER (content_area), label); gtk_container_add(GTK_CONTAINER (content_area), hbox); gtk_widget_show_all(dialog); gint result = gtk_dialog_run(GTK_DIALOG(dialog)); changed = FALSE; if (result == GTK_RESPONSE_ACCEPT) { const gchar *str; gchar **file_patterns, **ignored_dirs_patterns, **ignored_file_patterns; str = gtk_entry_get_text(GTK_ENTRY(w_file_patterns)); if (g_strcmp0(str, file_patterns_old) != 0) { changed = TRUE; } file_patterns = split_patterns(str); str = gtk_entry_get_text(GTK_ENTRY(w_ignored_dirs_patterns)); if (g_strcmp0(str, ignored_dirs_patterns_old) != 0) { changed = TRUE; } ignored_dirs_patterns = split_patterns(str); str = gtk_entry_get_text(GTK_ENTRY(w_ignored_file_patterns)); if (g_strcmp0(str, ignored_file_patterns_old) != 0) { changed = TRUE; } ignored_file_patterns = split_patterns(str); wb_project_dir_set_file_patterns(directory, file_patterns); wb_project_dir_set_ignored_dirs_patterns(directory, ignored_dirs_patterns); wb_project_dir_set_ignored_file_patterns(directory, ignored_file_patterns); g_strfreev(file_patterns); g_strfreev(ignored_dirs_patterns); g_strfreev(ignored_file_patterns); } g_free(file_patterns_old); g_free(ignored_file_patterns_old); g_free(ignored_dirs_patterns_old); gtk_widget_destroy(dialog); return changed; } /** Shows the workbench settings dialog. * * The dialog lets the user edit the settings for option "Rescan all projects on open". * On accept the result is directly stored in @a workbench. * * @param workbench Location of WORKBENCH to store the settings into * @return TRUE if the settings have changed, FALSE otherwise * **/ gboolean dialogs_workbench_settings(WORKBENCH *workbench) { gint result; GtkWidget *w_rescan_projects_on_open; GtkWidget *dialog, *label, *content_area; GtkWidget *vbox, *hbox, *table; GtkDialogFlags flags; gboolean changed, rescan_projects_on_open, rescan_projects_on_open_old; /* Create the widgets */ flags = GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT; dialog = gtk_dialog_new_with_buttons(_("Workbench settings"), GTK_WINDOW(wb_globals.geany_plugin->geany_data->main_widgets->window), flags, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_OK"), GTK_RESPONSE_ACCEPT, NULL); content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog)); vbox = gtk_vbox_new(FALSE, 0); table = gtk_table_new(5, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), 5); gtk_table_set_col_spacings(GTK_TABLE(table), 10); label = gtk_label_new(_("Rescan all projects on open:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); w_rescan_projects_on_open = gtk_check_button_new(); ui_table_add_row(GTK_TABLE(table), 0, label, w_rescan_projects_on_open, NULL); gtk_widget_set_tooltip_text(w_rescan_projects_on_open, _("If the option is activated (default), then all projects will be re-scanned" " on opening of the workbench.")); rescan_projects_on_open_old = workbench_get_rescan_projects_on_open(workbench); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w_rescan_projects_on_open), rescan_projects_on_open_old); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 6); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 6); /* Show everything we’ve added, run dialog */ gtk_container_add(GTK_CONTAINER (content_area), hbox); gtk_widget_show_all(dialog); result = gtk_dialog_run(GTK_DIALOG(dialog)); changed = FALSE; if (result == GTK_RESPONSE_ACCEPT) { rescan_projects_on_open = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w_rescan_projects_on_open)); if (rescan_projects_on_open != rescan_projects_on_open_old) { changed = TRUE; workbench_set_rescan_projects_on_open(workbench, rescan_projects_on_open); } } gtk_widget_destroy(dialog); return changed; } geany-plugins-1.32/workbench/src/wb_globals.c0000644000175000017500000000165413171306761021552 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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 HAVE_CONFIG_H # include "config.h" #endif #include "wb_globals.h" WB_GLOBALS wb_globals; void workbench_globals_init(void) { memset(&wb_globals, 0, sizeof(wb_globals)); } geany-plugins-1.32/workbench/src/sidebar.h0000644000175000017500000000466513176653555021075 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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 __SIDEBAR_H__ #define __SIDEBAR_H__ #include #include "wb_project.h" typedef struct { WB_PROJECT *project; WB_PROJECT_DIR *directory; gchar *folder; gchar *file; gchar *wb_bookmark; gchar *prj_bookmark; }SIDEBAR_CONTEXT; typedef enum { SIDEBAR_CONTEXT_WB_CREATED, SIDEBAR_CONTEXT_WB_OPENED, SIDEBAR_CONTEXT_WB_SAVED, SIDEBAR_CONTEXT_WB_SETTINGS_CHANGED, SIDEBAR_CONTEXT_WB_CLOSED, SIDEBAR_CONTEXT_PROJECT_ADDED, SIDEBAR_CONTEXT_PROJECT_SAVED, SIDEBAR_CONTEXT_PROJECT_REMOVED, SIDEBAR_CONTEXT_DIRECTORY_ADDED, SIDEBAR_CONTEXT_DIRECTORY_REMOVED, SIDEBAR_CONTEXT_DIRECTORY_RESCANNED, SIDEBAR_CONTEXT_DIRECTORY_SETTINGS_CHANGED, SIDEBAR_CONTEXT_WB_BOOKMARK_ADDED, SIDEBAR_CONTEXT_WB_BOOKMARK_REMOVED, SIDEBAR_CONTEXT_PRJ_BOOKMARK_ADDED, SIDEBAR_CONTEXT_PRJ_BOOKMARK_REMOVED, }SIDEBAR_EVENT; void sidebar_init(void); void sidebar_cleanup(void); void sidebar_activate(void); void sidebar_deactivate(void); void sidebar_show_intro_message(const gchar *msg, gboolean activate); void sidebar_update(SIDEBAR_EVENT event, SIDEBAR_CONTEXT *context); void sidebar_expand_all(void); void sidebar_collapse_all(void); void sidebar_expand_selected_project (void); void sidebar_collapse_selected_project (void); void sidebar_toggle_selected_project_expansion (void); void sidebar_toggle_selected_project_dir_expansion (void); WB_PROJECT *sidebar_file_view_get_selected_project(GtkTreePath **path); gboolean sidebar_file_view_get_selected_context(SIDEBAR_CONTEXT *context); GPtrArray *sidebar_get_selected_project_filelist (void); GPtrArray *sidebar_get_selected_directory_filelist (void); GPtrArray *sidebar_get_selected_folder_filelist (void); #endif geany-plugins-1.32/workbench/src/utils.c0000644000175000017500000001453713177612707020611 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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. */ /* * Utility functions. */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include "wb_globals.h" #include "utils.h" /** Get the relative path. * * The function examines the relative path of @a utf8_descendant in relation to * @a utf8_parent. * * @param utf8_parent Parent directory. * @param utf8_descendant Sub directory. * **/ gchar *get_relative_path(const gchar *utf8_parent, const gchar *utf8_descendant) { GFile *gf_parent, *gf_descendant; gchar *locale_parent, *locale_descendant; gchar *locale_ret, *utf8_ret; locale_parent = utils_get_locale_from_utf8(utf8_parent); locale_descendant = utils_get_locale_from_utf8(utf8_descendant); gf_parent = g_file_new_for_path(locale_parent); gf_descendant = g_file_new_for_path(locale_descendant); locale_ret = g_file_get_relative_path(gf_parent, gf_descendant); utf8_ret = utils_get_utf8_from_locale(locale_ret); g_object_unref(gf_parent); g_object_unref(gf_descendant); g_free(locale_parent); g_free(locale_descendant); g_free(locale_ret); return utf8_ret; } /** Combine an absolute and a relative path. * * The function combines the absolute path @a base with the relative path * @a relative and retunrs it as a string. The caller needs to free the * string with g_free(). * * @param base The absolute path. * @param relative The relative path. * @return Combined path or NULL if no memory is available * **/ gchar *get_combined_path(const gchar *base, const gchar *relative) { gchar *basedir, *basedir_end; const gchar *start; gchar *result; gint goback; start = relative; basedir = g_path_get_dirname (base); if (relative[0] == '.') { if (strncmp("..", relative, sizeof("..")-1) == 0) { start = &(relative[sizeof("..")-1]); } goback = 0; while (*start != '\0') { if (strncmp("..", &(start[1]), sizeof("..")-1) == 0) { start += 1 + (sizeof("..")-1); goback++; } else { break; } } basedir_end = &(basedir[strlen(basedir)]); while (goback > 0) { while (basedir_end > basedir && *basedir_end != G_DIR_SEPARATOR) { basedir_end--; } if (*basedir_end == G_DIR_SEPARATOR) { *basedir_end = '\0'; } else { break; } goback--; } } result = g_strconcat(basedir, start, NULL); return result; } /** Get the relative path. * * The function examines the relative path of @a target in relation to * @a base. It is not required that target is a sub-directory of base. * * @param base Base directory. * @param target Target directory or NULL in case of error. * **/ gchar *get_any_relative_path (const gchar *base, const gchar *target) { guint index = 0, equal, equal_index = 0, base_parts = 0, target_parts = 0, length; GPtrArray *relative; gchar *part; gchar *result = NULL; gchar **splitv_base; gchar **splitv_target; /* Split up pathes into parts and count them */ splitv_base = g_strsplit (base, G_DIR_SEPARATOR_S, -1); index = 0; while (splitv_base[index] != NULL) { if (strlen(splitv_base[index]) > 0) { base_parts++; } index++; } splitv_target = g_strsplit (target, G_DIR_SEPARATOR_S, -1); index = 0;; while (splitv_target[index] != NULL) { if (strlen(splitv_target[index]) > 0) { target_parts++; } index++; } /* Count equal dirs */ equal = 0; index = 0; while (splitv_base[index] != NULL && splitv_target[index] != NULL) { if (g_strcmp0 (splitv_base[index], splitv_target[index]) == 0) { /* We might encounter empty strings! */ if (strlen(splitv_base[index]) > 0) { equal++; equal_index = index; } } else { break; } index++; } length = 0; relative = g_ptr_array_new(); if (equal < base_parts) { /* Go back, add ".." */ for (index = 0 ; index < (base_parts-equal) ; index++) { if (index == 0) { g_ptr_array_add(relative, g_strdup("..")); length += 2; } else { length += 2 + strlen(G_DIR_SEPARATOR_S); g_ptr_array_add(relative, g_strdup(G_DIR_SEPARATOR_S)); g_ptr_array_add(relative, g_strdup("..")); } } /* Add directories */ index = equal_index + 1; while (splitv_target[index] != NULL) { if (strlen(splitv_target[index]) > 0) { length += strlen(G_DIR_SEPARATOR_S) + strlen(splitv_target[index]); g_ptr_array_add(relative, g_strdup(G_DIR_SEPARATOR_S)); g_ptr_array_add(relative, g_strdup(splitv_target[index])); } index++; } } /* Copy it all together */ result = g_new(char, length+1); if (result != NULL) { guint strpos = 0; for (index = 0 ; index < relative->len ; index++) { part = g_ptr_array_index(relative, index); g_strlcpy (&(result[strpos]), part, length+1-strpos); strpos += strlen(part); g_free(part); } } else { for (index = 0 ; index < relative->len ; index++) { part = g_ptr_array_index(relative, index); g_free(part); } result = NULL; } g_ptr_array_free(relative, TRUE); return result; } /** Open all files in list. * * @param list GPtrArray containing file names. * **/ void open_all_files_in_list(GPtrArray *list) { guint index; for (index = 0 ; index < list->len ; index++) { document_open_file(list->pdata[index], FALSE, NULL, NULL); } } /** Close all files in list. * * @param list GPtrArray containing file names. * **/ void close_all_files_in_list(GPtrArray *list) { GeanyData* geany_data = wb_globals.geany_plugin->geany_data; guint index, doc=0; for (index = 0 ; index < list->len ; index++) { foreach_document(doc) { if (g_strcmp0(list->pdata[index], documents[doc]->file_name) == 0) { document_close(documents[doc]); break; } } } } geany-plugins-1.32/workbench/src/dialogs.h0000644000175000017500000000212113171306761021054 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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 __WB_DIALOGS_H__ #define __WB_DIALOGS_H__ gchar *dialogs_create_new_workbench(void); gchar *dialogs_open_workbench(void); gchar *dialogs_add_project(void); gchar *dialogs_add_directory(WB_PROJECT *project); gboolean dialogs_directory_settings(WB_PROJECT_DIR *directory); gboolean dialogs_workbench_settings(WORKBENCH *workbench); #endif geany-plugins-1.32/workbench/src/sidebar.c0000644000175000017500000007653113176653555021071 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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. */ /* * Code for setup and control of the sidebar. */ #include #include #include #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "wb_globals.h" #include #include "sidebar.h" #include "popup_menu.h" #include "utils.h" enum { DATA_ID_UNSET = 0, DATA_ID_WB_BOOKMARK, DATA_ID_PROJECT, DATA_ID_PRJ_BOOKMARK, DATA_ID_DIRECTORY, DATA_ID_NO_DIRS, DATA_ID_FOLDER, DATA_ID_FILE, }; enum { FILEVIEW_COLUMN_ICON, FILEVIEW_COLUMN_NAME, FILEVIEW_COLUMN_DATA_ID, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, FILEVIEW_N_COLUMNS, }; typedef enum { MATCH_FULL, MATCH_PREFIX, MATCH_PATTERN } MatchType; typedef struct { GeanyProject *project; GPtrArray *expanded_paths; } ExpandData; typedef struct SIDEBAR { GtkWidget *file_view_vbox; GtkWidget *file_view; GtkTreeStore *file_store; GtkWidget *file_view_label; }SIDEBAR; static SIDEBAR sidebar = {NULL, NULL, NULL, NULL}; /* Remove all child nodes below parent */ static void sidebar_remove_children(GtkTreeIter *parent) { GtkTreeIter iter; GtkTreeModel *model; model = gtk_tree_view_get_model(GTK_TREE_VIEW(sidebar.file_view)); if (gtk_tree_model_iter_children (model, &iter, parent)) { while (gtk_tree_store_remove (sidebar.file_store, &iter)) {} } } /* Create a branch for a folder */ static void sidebar_create_branch(gint level, const gchar *abs_base_dir, GSList *leaf_list, GtkTreeIter *parent) { GSList *dir_list = NULL; GSList *file_list = NULL; GSList *elem = NULL; gchar **path_arr; foreach_slist (elem, leaf_list) { if (elem->data == NULL) { continue; } path_arr = elem->data; if (path_arr[level+1] != NULL) { dir_list = g_slist_prepend(dir_list, path_arr); } else { file_list = g_slist_prepend(file_list, path_arr); } } foreach_slist (elem, file_list) { GtkTreeIter iter; gchar *part, *full; GIcon *icon = NULL; path_arr = elem->data; gchar *content_type = g_content_type_guess(path_arr[level], NULL, 0, NULL); if (content_type) { icon = g_content_type_get_icon(content_type); if (icon) { GtkIconInfo *icon_info; icon_info = gtk_icon_theme_lookup_by_gicon(gtk_icon_theme_get_default(), icon, 16, 0); if (!icon_info) { g_object_unref(icon); icon = NULL; } else gtk_icon_info_free(icon_info); } g_free(content_type); } /* Build full absolute file name to use it on row activate to open the file. Will be assigned as data pointer, see below. */ part = g_build_filenamev(path_arr); full = g_build_filename(abs_base_dir, part, NULL); g_free(part); gtk_tree_store_insert_with_values(sidebar.file_store, &iter, parent, 0, FILEVIEW_COLUMN_ICON, icon, FILEVIEW_COLUMN_NAME, path_arr[level], FILEVIEW_COLUMN_DATA_ID, DATA_ID_FILE, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, full, -1); if (icon) { g_object_unref(icon); } } if (dir_list) { GSList *tmp_list = NULL; GtkTreeIter iter; gchar *last_dir_name; GIcon *icon_dir = g_icon_new_for_string("folder", NULL); path_arr = dir_list->data; last_dir_name = path_arr[level]; foreach_slist (elem, dir_list) { gboolean dir_changed; path_arr = (gchar **) elem->data; dir_changed = g_strcmp0(last_dir_name, path_arr[level]) != 0; if (dir_changed) { gtk_tree_store_insert_with_values(sidebar.file_store, &iter, parent, 0, FILEVIEW_COLUMN_ICON, icon_dir, FILEVIEW_COLUMN_NAME, last_dir_name, FILEVIEW_COLUMN_DATA_ID, DATA_ID_FOLDER, -1); sidebar_create_branch(level+1, abs_base_dir, tmp_list, &iter); g_slist_free(tmp_list); tmp_list = NULL; last_dir_name = path_arr[level]; } tmp_list = g_slist_prepend(tmp_list, path_arr); } gtk_tree_store_insert_with_values(sidebar.file_store, &iter, parent, 0, FILEVIEW_COLUMN_ICON, icon_dir, FILEVIEW_COLUMN_NAME, last_dir_name, FILEVIEW_COLUMN_DATA_ID, DATA_ID_FOLDER, -1); sidebar_create_branch(level+1, abs_base_dir, tmp_list, &iter); g_slist_free(tmp_list); g_slist_free(dir_list); if (icon_dir != NULL) { g_object_unref(icon_dir); } } g_slist_free(file_list); } /* Reverse strcmp */ static int rev_strcmp(const char *str1, const char *str2) { return strcmp(str2, str1); } /* Insert given directory/folder into the sidebar file tree */ static void sidebar_insert_project_directory(WB_PROJECT *prj, WB_PROJECT_DIR *directory, GtkTreeIter *parent) { GSList *lst = NULL; GSList *path_list = NULL; GSList *elem = NULL; GHashTableIter iter; gpointer key, value; gchar *abs_base_dir; g_hash_table_iter_init(&iter, wb_project_dir_get_file_table(directory)); abs_base_dir = get_combined_path(wb_project_get_filename(prj), wb_project_dir_get_base_dir(directory)); while (g_hash_table_iter_next(&iter, &key, &value)) { gchar *path = get_relative_path(abs_base_dir, key); lst = g_slist_prepend(lst, path); } /* sort in reverse order so we can prepend nodes to the tree store - * the store behaves as a linked list and prepending is faster */ lst = g_slist_sort(lst, (GCompareFunc) rev_strcmp); foreach_slist (elem, lst) { gchar **path_split; path_split = g_strsplit_set(elem->data, "/\\", 0); path_list = g_slist_prepend(path_list, path_split); } if (path_list != NULL) sidebar_create_branch(0, abs_base_dir, path_list, parent); g_slist_free_full(lst, g_free); g_slist_free_full(path_list, (GDestroyNotify) g_strfreev); } /* Insert all directories (WB_PROJECT_DIRs) into the sidebar file tree */ static void sidebar_insert_project_directories (WB_PROJECT *project, GtkTreeIter *parent, gint *position) { GtkTreeIter iter; GIcon *icon, *icon_dir, *icon_base; GSList *elem = NULL, *dirs; if (project == NULL) { return; } dirs = wb_project_get_directories(project); if (dirs != NULL) { const gchar *name; icon_dir = g_icon_new_for_string("system-search", NULL); icon_base = g_icon_new_for_string("user-home", NULL); foreach_slist (elem, dirs) { if (wb_project_dir_get_is_prj_base_dir(elem->data) == TRUE) { icon = icon_base; name = _("Base dir"); } else { icon = icon_dir; name = wb_project_dir_get_name(elem->data); } gtk_tree_store_insert_with_values(sidebar.file_store, &iter, parent, *position, FILEVIEW_COLUMN_ICON, icon, FILEVIEW_COLUMN_NAME, name, FILEVIEW_COLUMN_DATA_ID, DATA_ID_DIRECTORY, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, elem->data, -1); (*position)++; sidebar_insert_project_directory(project, elem->data, &iter); } if (icon_dir != NULL) { g_object_unref(icon_dir); } if (icon_base != NULL) { g_object_unref(icon_base); } } else { icon = g_icon_new_for_string("dialog-information", NULL); gtk_tree_store_insert_with_values(sidebar.file_store, &iter, parent, *position, FILEVIEW_COLUMN_ICON, icon, FILEVIEW_COLUMN_NAME, _("No directories"), FILEVIEW_COLUMN_DATA_ID, DATA_ID_NO_DIRS, -1); (*position)++; if (icon != NULL) { g_object_unref(icon); } } } /* Get the GtkTreeIter for project prj */ static gboolean sidebar_get_project_iter(WB_PROJECT *prj, GtkTreeIter *iter) { GtkTreeModel *model; model = gtk_tree_view_get_model(GTK_TREE_VIEW(sidebar.file_view)); if (gtk_tree_model_get_iter_first (model, iter)) { WB_PROJECT *current; do { gtk_tree_model_get(model, iter, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, ¤t, -1); if (current == prj) { return TRUE; } }while (gtk_tree_model_iter_next(model, iter)); } return FALSE; } /* Remove all rows from the side bar tree with the given data id */ static void sidebar_remove_nodes_with_data_id(guint toremove, GtkTreeIter *start) { GtkTreeIter iter; GtkTreeModel *model; gboolean has_next; guint dataid; model = gtk_tree_view_get_model(GTK_TREE_VIEW(sidebar.file_view)); if (start == NULL) { if (!gtk_tree_model_get_iter_first(model, &iter)) { return; } } else { iter = *start; } do { gtk_tree_model_get(model, &iter, FILEVIEW_COLUMN_DATA_ID, &dataid, -1); if (dataid == toremove) { has_next = gtk_tree_store_remove(sidebar.file_store, &iter); } else { has_next = gtk_tree_model_iter_next(model, &iter); } } while (has_next); } /* Insert all project bookmarks into the sidebar file tree */ static void sidebar_insert_project_bookmarks(WB_PROJECT *project, GtkTreeIter *parent, gint *position) { GIcon *icon; guint index, max; GtkTreeIter iter; if (project == NULL) return; max = wb_project_get_bookmarks_count(project); if (max == 0) return; icon = g_icon_new_for_string("user-bookmarks", NULL); for (index = 0 ; index < max ; index++) { gchar *file, *name; file = wb_project_get_bookmark_at_index(project, index); name = get_any_relative_path(wb_project_get_filename(project), file); gtk_tree_store_insert_with_values(sidebar.file_store, &iter, parent, *position, FILEVIEW_COLUMN_ICON, icon, FILEVIEW_COLUMN_NAME, name, FILEVIEW_COLUMN_DATA_ID, DATA_ID_PRJ_BOOKMARK, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, file, -1); (*position)++; } if (icon != NULL) { g_object_unref(icon); } } /* Update the sidebar for a project only */ static void sidebar_update_project(WB_PROJECT *project, gboolean title_only) { GtkTreeIter iter; if (wb_globals.opened_wb == NULL) return; if (sidebar_get_project_iter(project, &iter)) { /* Update the title */ GString *name = g_string_new(wb_project_get_name(project)); if (wb_project_is_modified(project)) { g_string_append_c(name, '*'); } gtk_tree_store_set(sidebar.file_store, &iter, FILEVIEW_COLUMN_NAME, name->str, -1); g_string_free(name, TRUE); /* Update children/content to? */ if (!title_only) { gint position = 0; sidebar_remove_children(&iter); sidebar_insert_project_bookmarks(project, &iter, &position); sidebar_insert_project_directories(project, &iter, &position); } } } /* Insert all projects into the sidebar file tree */ static void sidebar_insert_all_projects(GtkTreeIter *iter, gint *position) { GIcon *icon_good, *icon_bad, *icon; guint index, max; if (wb_globals.opened_wb == NULL) return; icon_good = g_icon_new_for_string("package-x-generic", NULL); icon_bad = g_icon_new_for_string("dialog-error", NULL); max = workbench_get_project_count(wb_globals.opened_wb); for (index = 0 ; index < max ; index++) { gint child_position; WB_PROJECT *project; project = workbench_get_project_at_index(wb_globals.opened_wb, index); if (workbench_get_project_status_at_index(wb_globals.opened_wb, index) == PROJECT_ENTRY_STATUS_OK) { icon = icon_good; } else { icon = icon_bad; } GString *name = g_string_new(wb_project_get_name(project)); if (wb_project_is_modified(project)) { g_string_append_c(name, '*'); } gtk_tree_store_insert_with_values(sidebar.file_store, iter, NULL, *position, FILEVIEW_COLUMN_ICON, icon, FILEVIEW_COLUMN_NAME, name->str, FILEVIEW_COLUMN_DATA_ID, DATA_ID_PROJECT, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, project, -1); g_string_free(name, TRUE); child_position = 0; /* Not required here as we build a completely new tree sidebar_remove_children(&iter); */ sidebar_insert_project_bookmarks(project, iter, &child_position); sidebar_insert_project_directories(project, iter, &child_position); } gtk_tree_view_expand_all(GTK_TREE_VIEW(sidebar.file_view)); if (icon_good != NULL) { g_object_unref(icon_good); } if (icon_bad != NULL) { g_object_unref(icon_bad); } } /* Insert all workbench bookmarks into the sidebar file tree */ static void sidebar_insert_workbench_bookmarks(WORKBENCH *workbench, GtkTreeIter *iter, gint *position) { GIcon *icon; guint index, max; if (workbench == NULL) { return; } sidebar_remove_nodes_with_data_id(DATA_ID_WB_BOOKMARK, NULL); max = workbench_get_bookmarks_count(workbench); if (max == 0) { return; } icon = g_icon_new_for_string("user-bookmarks", NULL); for (index = 0 ; index < max ; index++) { gchar *file, *name; file = workbench_get_bookmark_at_index(workbench, index); name = get_any_relative_path(workbench_get_filename(workbench), file); gtk_tree_store_insert_with_values(sidebar.file_store, iter, NULL, *position, FILEVIEW_COLUMN_ICON, icon, FILEVIEW_COLUMN_NAME, name, FILEVIEW_COLUMN_DATA_ID, DATA_ID_WB_BOOKMARK, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, file, -1); (*position)++; } gtk_tree_view_expand_all(GTK_TREE_VIEW(sidebar.file_view)); if (icon != NULL) { g_object_unref(icon); } } /* Reset/Clear/empty the sidebar file tree */ static void sidebar_reset_tree_store(void) { gtk_tree_store_clear(sidebar.file_store); } /* Update the workbench part of the sidebar */ static void sidebar_update_workbench(GtkTreeIter *iter, gint *position) { guint count; if (wb_globals.opened_wb == NULL) { gtk_label_set_text (GTK_LABEL(sidebar.file_view_label), _("No workbench opened.")); gtk_tree_store_clear(sidebar.file_store); sidebar_show_intro_message(_("Create or open a workbench\nusing the workbench menu."), FALSE); sidebar_deactivate(); } else { gint length; gchar text[200]; count = workbench_get_project_count(wb_globals.opened_wb); length = g_snprintf(text, sizeof(text), _("%s: %u Projects"), workbench_get_name(wb_globals.opened_wb), count); if (length < (gint)(sizeof(text)-1) && workbench_is_modified(wb_globals.opened_wb)) { text [length] = '*'; text [length+1] = '\0'; } gtk_label_set_text (GTK_LABEL(sidebar.file_view_label), text); if (count == 0) { gtk_tree_store_clear(sidebar.file_store); sidebar_show_intro_message(_("Add a project\nusing the context menu."), TRUE); } else { /* Add/show workbench bookmarks if any */ if (iter != NULL) { sidebar_insert_workbench_bookmarks(wb_globals.opened_wb, iter, position); } } } } /** Update the sidebar. * * Update the sidebar according to the given situation/event @a event * and data in @a context. * * @param event Reason for the sidebar update * @param context Data, e.g. actually selected project... * **/ void sidebar_update (SIDEBAR_EVENT event, SIDEBAR_CONTEXT *context) { GtkTreeIter iter; gint position = 0; switch (event) { case SIDEBAR_CONTEXT_WB_CREATED: case SIDEBAR_CONTEXT_WB_OPENED: case SIDEBAR_CONTEXT_PROJECT_ADDED: case SIDEBAR_CONTEXT_PROJECT_REMOVED: sidebar_reset_tree_store(); sidebar_update_workbench(&iter, &position); sidebar_insert_all_projects(&iter, &position); sidebar_activate(); break; case SIDEBAR_CONTEXT_WB_SAVED: case SIDEBAR_CONTEXT_WB_SETTINGS_CHANGED: case SIDEBAR_CONTEXT_WB_CLOSED: sidebar_update_workbench(NULL, &position); break; case SIDEBAR_CONTEXT_PROJECT_SAVED: if (context != NULL && context->project != NULL) { sidebar_update_project(context->project, TRUE); } break; case SIDEBAR_CONTEXT_DIRECTORY_ADDED: case SIDEBAR_CONTEXT_DIRECTORY_REMOVED: case SIDEBAR_CONTEXT_DIRECTORY_RESCANNED: case SIDEBAR_CONTEXT_DIRECTORY_SETTINGS_CHANGED: case SIDEBAR_CONTEXT_PRJ_BOOKMARK_ADDED: case SIDEBAR_CONTEXT_PRJ_BOOKMARK_REMOVED: if (context != NULL && context->project != NULL) { sidebar_update_project(context->project, FALSE); } break; case SIDEBAR_CONTEXT_WB_BOOKMARK_ADDED: case SIDEBAR_CONTEXT_WB_BOOKMARK_REMOVED: { GtkTreeIter first; GtkTreeModel *model; model = gtk_tree_view_get_model(GTK_TREE_VIEW(sidebar.file_view)); if (gtk_tree_model_get_iter_first (model, &first)) { sidebar_update_workbench(&first, &position); } } break; } } /* Callback function for clicking on a sidebar item */ static void sidebar_filew_view_on_row_activated (GtkTreeView *treeview, GtkTreePath *path, G_GNUC_UNUSED GtkTreeViewColumn *col, G_GNUC_UNUSED gpointer userdata) { gchar *info; GtkTreeModel *model; GtkTreeIter iter; model = gtk_tree_view_get_model(treeview); if (gtk_tree_model_get_iter(model, &iter, path)) { guint dataid; gchar *name; void *address; gtk_tree_model_get(model, &iter, FILEVIEW_COLUMN_NAME, &name, -1); gtk_tree_model_get(model, &iter, FILEVIEW_COLUMN_DATA_ID, &dataid, -1); gtk_tree_model_get(model, &iter, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, &address, -1); switch (dataid) { case DATA_ID_PROJECT: info = wb_project_get_info((WB_PROJECT *)address); if (workbench_get_project_status_by_address(wb_globals.opened_wb, address) == PROJECT_ENTRY_STATUS_OK) { dialogs_show_msgbox(GTK_MESSAGE_INFO, "%s", info); } else { dialogs_show_msgbox(GTK_MESSAGE_ERROR, _("%s\nProject file not found!"), info); } g_free(info); break; case DATA_ID_DIRECTORY: info = wb_project_dir_get_info((WB_PROJECT_DIR *)address); dialogs_show_msgbox(GTK_MESSAGE_INFO, "%s", info); break; case DATA_ID_WB_BOOKMARK: case DATA_ID_PRJ_BOOKMARK: case DATA_ID_FILE: document_open_file((char *)address, FALSE, NULL, NULL); break; case DATA_ID_NO_DIRS: dialogs_show_msgbox(GTK_MESSAGE_INFO, _("This project has no directories. Directories can be added to a project using the context menu.")); break; default: break; } g_free(name); } } /* Callbac function for button release, used for the popup menu */ static gboolean sidebar_file_view_on_button_release(G_GNUC_UNUSED GtkWidget * widget, GdkEventButton * event, G_GNUC_UNUSED gpointer user_data) { if (event->button == 3) { SIDEBAR_CONTEXT context; POPUP_CONTEXT popup_context = POPUP_CONTEXT_BACKGROUND; if (sidebar_file_view_get_selected_context(&context)) { if (context.file != NULL) { popup_context = POPUP_CONTEXT_FILE; } else if (context.folder != NULL) { popup_context = POPUP_CONTEXT_FOLDER; } else if (context.directory != NULL) { popup_context = POPUP_CONTEXT_DIRECTORY; } else if (context.prj_bookmark != NULL) { popup_context = POPUP_CONTEXT_PRJ_BOOKMARK; } else if (context.project != NULL) { popup_context = POPUP_CONTEXT_PROJECT; } else if (context.wb_bookmark != NULL) { popup_context = POPUP_CONTEXT_WB_BOOKMARK; } } popup_menu_show(popup_context, event); return TRUE; } return FALSE; } /** Get the selected project and the path to it. * * Get the selected project and return a pointer to it. Also if @a path is not NULL then * the path to the row containing the project is returned in *path. * * @param path @nullable Location to return the path or @c NULL * **/ WB_PROJECT *sidebar_file_view_get_selected_project(GtkTreePath **path) { gboolean has_parent; guint dataid; GtkTreeSelection *treesel; GtkTreeModel *model; GtkTreeIter current, parent; WB_PROJECT *project; if (path != NULL) { *path = NULL; } treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW(sidebar.file_view)); if (gtk_tree_selection_get_selected(treesel, &model, ¤t)) { do { gtk_tree_model_get(model, ¤t, FILEVIEW_COLUMN_DATA_ID, &dataid, -1); gtk_tree_model_get(model, ¤t, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, &project, -1); if (dataid == DATA_ID_PROJECT && project != NULL) { if (path != NULL) { *path = gtk_tree_model_get_path(model, ¤t); } return project; } has_parent = gtk_tree_model_iter_parent(model, &parent, ¤t); current = parent; }while (has_parent); } return NULL; } /* Search upwards from the selected row and get the iter of the closest parent with DATA_ID id. */ static gboolean sidebar_file_view_get_selected_parent_iter(GtkTreeIter *iter, guint id) { gboolean has_parent; guint dataid; GtkTreeSelection *treesel; GtkTreeModel *model; GtkTreeIter current, parent; treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW(sidebar.file_view)); if (gtk_tree_selection_get_selected(treesel, &model, ¤t)) { do { gtk_tree_model_get(model, ¤t, FILEVIEW_COLUMN_DATA_ID, &dataid, -1); if (dataid == id) { *iter = current; return TRUE; } has_parent = gtk_tree_model_iter_parent(model, &parent, ¤t); current = parent; }while (has_parent); } return FALSE; } /** Get the selected project directory and the path to it. * * Get the selected project directory and return a pointer to it. Also if @a path is not NULL then * the path to the row containing the project is returned in *path. * * @param path @nullable Location to return the path or @c NULL * **/ static WB_PROJECT_DIR *sidebar_file_view_get_selected_project_dir(GtkTreePath **path) { gboolean has_parent; guint dataid; GtkTreeSelection *treesel; GtkTreeModel *model; GtkTreeIter current, parent; WB_PROJECT_DIR *directory; if (path != NULL) { *path = NULL; } treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW(sidebar.file_view)); if (gtk_tree_selection_get_selected(treesel, &model, ¤t)) { do { gtk_tree_model_get(model, ¤t, FILEVIEW_COLUMN_DATA_ID, &dataid, -1); gtk_tree_model_get(model, ¤t, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, &directory, -1); if (dataid == DATA_ID_DIRECTORY && directory != NULL) { if (path != NULL) { *path = gtk_tree_model_get_path(model, ¤t); } return directory; } has_parent = gtk_tree_model_iter_parent(model, &parent, ¤t); current = parent; }while (has_parent); } return NULL; } /** Get data corresponding to the current selected tree view selection. * * The function collects all data corresponding to the current selection and stores it in * @a context. This is e.g. the selected file and the directory and project to which it * belongs. * * @param context The location to store the selection context data in. * @return TRUE if anything in the tree is selected, FALSE otherwise. * **/ gboolean sidebar_file_view_get_selected_context(SIDEBAR_CONTEXT *context) { gboolean has_parent; guint dataid; GtkTreeSelection *treesel; GtkTreeModel *model; GtkTreeIter current, parent; gpointer data; if (context == NULL) { return FALSE; } memset (context, 0, sizeof(*context)); treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW(sidebar.file_view)); if (gtk_tree_selection_get_selected(treesel, &model, ¤t)) { /* Search through the parents upwards until we find the project node. Save everthing that's interesting in callers variables... */ do { gtk_tree_model_get(model, ¤t, FILEVIEW_COLUMN_DATA_ID, &dataid, -1); gtk_tree_model_get(model, ¤t, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, &data, -1); if (data != NULL) { switch (dataid) { case DATA_ID_WB_BOOKMARK: context->wb_bookmark = data; break; case DATA_ID_PROJECT: context->project = data; break; case DATA_ID_PRJ_BOOKMARK: context->prj_bookmark = data; break; case DATA_ID_DIRECTORY: context->directory = data; break; case DATA_ID_NO_DIRS: /* Has not got any data. */ break; case DATA_ID_FOLDER: context->folder = data; break; case DATA_ID_FILE: context->file = data; break; } } has_parent = gtk_tree_model_iter_parent(model, &parent, ¤t); current = parent; }while (has_parent); return TRUE; } return FALSE; } /* Collect all filenames recursively starting from iter and add them to list */ static void sidebar_get_filelist_for_iter(GPtrArray *list, GtkTreeIter iter) { GtkTreeModel *model; GtkTreeIter childs; gboolean has_next; guint dataid; char *filename; model = gtk_tree_view_get_model(GTK_TREE_VIEW(sidebar.file_view)); do { gtk_tree_model_get(model, &iter, FILEVIEW_COLUMN_DATA_ID, &dataid, -1); switch (dataid) { case DATA_ID_FILE: gtk_tree_model_get(model, &iter, FILEVIEW_COLUMN_ASSIGNED_DATA_POINTER, &filename, -1); g_ptr_array_add(list, g_strdup(filename)); break; case DATA_ID_DIRECTORY: case DATA_ID_FOLDER: if (gtk_tree_model_iter_children(model, &childs, &iter) == TRUE) { sidebar_get_filelist_for_iter(list, childs); } break; } has_next = gtk_tree_model_iter_next(model, &iter); } while (has_next); } /* Get the lkist of files belonging to the current selection for id (id = project, directory, folder) */ static GPtrArray *sidebar_get_selected_filelist (guint id) { GtkTreeModel *model; GPtrArray *list; GtkTreeIter iter, childs; if (sidebar_file_view_get_selected_parent_iter(&iter, id)) { list = g_ptr_array_new_full(1, g_free); model = gtk_tree_view_get_model(GTK_TREE_VIEW(sidebar.file_view)); if (gtk_tree_model_iter_children(model, &childs, &iter) == TRUE) { sidebar_get_filelist_for_iter(list, childs); } return list; } return NULL; } /** Get the list of files corresponding to the selected project. * * @return GPtrArray containing file names or NULL. * **/ GPtrArray *sidebar_get_selected_project_filelist (void) { return sidebar_get_selected_filelist(DATA_ID_PROJECT); } /** Get the list of files corresponding to the selected directory. * * @return GPtrArray containing file names or NULL. * **/ GPtrArray *sidebar_get_selected_directory_filelist (void) { return sidebar_get_selected_filelist(DATA_ID_DIRECTORY); } /** Get the list of files corresponding to the selected folder. * * @return GPtrArray containing file names or NULL. * **/ GPtrArray *sidebar_get_selected_folder_filelist (void) { return sidebar_get_selected_filelist(DATA_ID_FOLDER); } /** Setup the sidebar. * **/ void sidebar_init(void) { GtkWidget *scrollwin; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeSelection *sel; GList *focus_chain = NULL; sidebar.file_view_vbox = gtk_vbox_new(FALSE, 0); /**** label ****/ sidebar.file_view_label = gtk_label_new (_("No workbench opened.")); gtk_box_pack_start(GTK_BOX(sidebar.file_view_vbox), sidebar.file_view_label, FALSE, FALSE, 0); /**** tree view ****/ sidebar.file_view = gtk_tree_view_new(); g_signal_connect(sidebar.file_view, "row-activated", (GCallback)sidebar_filew_view_on_row_activated, NULL); sidebar.file_store = gtk_tree_store_new(FILEVIEW_N_COLUMNS, G_TYPE_ICON, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_POINTER); gtk_tree_view_set_model(GTK_TREE_VIEW(sidebar.file_view), GTK_TREE_MODEL(sidebar.file_store)); renderer = gtk_cell_renderer_pixbuf_new(); column = gtk_tree_view_column_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_add_attribute(column, renderer, "gicon", FILEVIEW_COLUMN_ICON); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_add_attribute(column, renderer, "text", FILEVIEW_COLUMN_NAME); gtk_tree_view_append_column(GTK_TREE_VIEW(sidebar.file_view), column); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(sidebar.file_view), FALSE); gtk_tree_view_set_enable_search(GTK_TREE_VIEW(sidebar.file_view), TRUE); gtk_tree_view_set_search_column(GTK_TREE_VIEW(sidebar.file_view), FILEVIEW_COLUMN_NAME); ui_widget_modify_font_from_string(sidebar.file_view, wb_globals.geany_plugin->geany_data->interface_prefs->tagbar_font); sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(sidebar.file_view)); gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE); g_signal_connect(G_OBJECT(sidebar.file_view), "button-release-event", G_CALLBACK(sidebar_file_view_on_button_release), NULL); sidebar_deactivate(); /**** the rest ****/ focus_chain = g_list_prepend(focus_chain, sidebar.file_view); gtk_container_set_focus_chain(GTK_CONTAINER(sidebar.file_view_vbox), focus_chain); g_list_free(focus_chain); scrollwin = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(scrollwin), sidebar.file_view); gtk_box_pack_start(GTK_BOX(sidebar.file_view_vbox), scrollwin, TRUE, TRUE, 0); gtk_widget_show_all(sidebar.file_view_vbox); gtk_notebook_append_page(GTK_NOTEBOOK(wb_globals.geany_plugin->geany_data->main_widgets->sidebar_notebook), sidebar.file_view_vbox, gtk_label_new(_("Workbench"))); } /** Display a text message in the sidebar. * * The function displays the text @a msg in the sidebar and eventually deactivates the sidebar * if @a activate is FALSE. * * @param msg The text to display * @param activate If TRUE the sidebar will be activated, if not it will be deactivated * **/ void sidebar_show_intro_message(const gchar *msg, gboolean activate) { GtkTreeIter iter; gtk_tree_store_insert_with_values(sidebar.file_store, &iter, NULL, -1, FILEVIEW_COLUMN_NAME, msg, -1); if (activate) { sidebar_activate(); } else { sidebar_deactivate(); } } /** Activate the sidebar. * **/ void sidebar_activate(void) { gtk_widget_set_sensitive(sidebar.file_view_vbox, TRUE); } /** Deactivate the sidebar. * **/ void sidebar_deactivate(void) { gtk_widget_set_sensitive(sidebar.file_view_vbox, FALSE); } /** Cleanup the sidebar. * **/ void sidebar_cleanup(void) { gtk_widget_destroy(sidebar.file_view_vbox); } /** Expand all rows in the sidebar tree. * **/ void sidebar_expand_all(void) { gtk_tree_view_expand_all(GTK_TREE_VIEW(sidebar.file_view)); } /** Collapse all rows in the sidebar tree. * **/ void sidebar_collapse_all(void) { gtk_tree_view_collapse_all(GTK_TREE_VIEW(sidebar.file_view)); } /** Expand all rows in the sidebar tree for the selected project. * **/ void sidebar_expand_selected_project(void) { GtkTreePath *path; sidebar_file_view_get_selected_project(&path); if (path != NULL) { gtk_tree_view_expand_row(GTK_TREE_VIEW(sidebar.file_view), path, TRUE); gtk_tree_path_free(path); } } /** Collapse all rows in the sidebar tree for the selected project. * **/ void sidebar_collapse_selected_project(void) { GtkTreePath *path; sidebar_file_view_get_selected_project(&path); if (path != NULL) { gtk_tree_view_collapse_row(GTK_TREE_VIEW(sidebar.file_view), path); gtk_tree_path_free(path); } } /** Toggle state of all rows in the sidebar tree for the selected project. * * If the project is expanded, then it will be collapsed and vice versa. * **/ void sidebar_toggle_selected_project_expansion(void) { GtkTreePath *path; sidebar_file_view_get_selected_project(&path); if (path != NULL) { if (gtk_tree_view_row_expanded (GTK_TREE_VIEW(sidebar.file_view),path)) { gtk_tree_view_collapse_row(GTK_TREE_VIEW(sidebar.file_view), path); } else { gtk_tree_view_expand_row (GTK_TREE_VIEW(sidebar.file_view), path, TRUE); } gtk_tree_path_free(path); } } /** Toggle state of all rows in the sidebar tree for the selected directory. * * If the directory is expanded, then it will be collapsed and vice versa. * **/ void sidebar_toggle_selected_project_dir_expansion (void) { GtkTreePath *path; sidebar_file_view_get_selected_project_dir(&path); if (path != NULL) { if (gtk_tree_view_row_expanded (GTK_TREE_VIEW(sidebar.file_view),path)) { gtk_tree_view_collapse_row (GTK_TREE_VIEW(sidebar.file_view), path); } else { gtk_tree_view_expand_row (GTK_TREE_VIEW(sidebar.file_view), path, TRUE); } gtk_tree_path_free(path); } } geany-plugins-1.32/workbench/src/utils.h0000644000175000017500000000235013176653555020611 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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 __UTILS_H__ #define __UTILS_H__ #include gchar *get_relative_path(const gchar *utf8_parent, const gchar *utf8_descendant); gboolean patterns_match(GSList *patterns, const gchar *str); GSList *get_precompiled_patterns(gchar **patterns); gchar *get_combined_path(const gchar *base, const gchar *relative); gchar *get_any_relative_path (const gchar *base, const gchar *target); void open_all_files_in_list(GPtrArray *list); void close_all_files_in_list(GPtrArray *list); #endif geany-plugins-1.32/workbench/src/popup_menu.h0000644000175000017500000000217113171306761021626 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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 __POPUP_MENU_H__ #define __POPUP_MENU_H__ #include typedef enum { POPUP_CONTEXT_PROJECT, POPUP_CONTEXT_DIRECTORY, POPUP_CONTEXT_FOLDER, POPUP_CONTEXT_FILE, POPUP_CONTEXT_BACKGROUND, POPUP_CONTEXT_WB_BOOKMARK, POPUP_CONTEXT_PRJ_BOOKMARK, }POPUP_CONTEXT; void popup_menu_init(void); void popup_menu_show(POPUP_CONTEXT context, GdkEventButton *event); #endif geany-plugins-1.32/workbench/src/wb_globals.h0000644000175000017500000000177613171306761021564 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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 __WB_GLOBALS_H__ #define __WB_GLOBALS_H__ #include #include "workbench.h" typedef struct { GeanyPlugin *geany_plugin; WORKBENCH *opened_wb; }WB_GLOBALS; extern WB_GLOBALS wb_globals; void workbench_globals_init(void); #endif geany-plugins-1.32/workbench/src/wb_project.c0000644000175000017500000010275413204251613021570 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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. */ /* * Code for the WB_PROJECT structure. */ #include #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include <../../utils/src/filelist.h> #include "wb_globals.h" #include "wb_project.h" #include "utils.h" extern GeanyData *geany_data; typedef enum { WB_PROJECT_TAG_PREFS_AUTO, WB_PROJECT_TAG_PREFS_YES, WB_PROJECT_TAG_PREFS_NO, }WB_PROJECT_TAG_PREFS; typedef struct { GKeyFile *kf; guint dir_count; }WB_PROJECT_ON_SAVE_USER_DATA; struct S_WB_PROJECT_DIR { gchar *name; gchar *base_dir; gchar **file_patterns; /**< Array of filename extension patterns. */ gchar **ignored_dirs_patterns; gchar **ignored_file_patterns; guint file_count; guint folder_count; GHashTable *file_table; /* contains all file names within base_dir, maps file_name->TMSourceFile */ gboolean is_prj_base_dir; }; struct S_WB_PROJECT { gchar *filename; gchar *name; gboolean modified; GSList *s_idle_add_funcs; GSList *s_idle_remove_funcs; GSList *directories; /* list of WB_PROJECT_DIR; */ WB_PROJECT_TAG_PREFS generate_tag_prefs; GPtrArray *bookmarks; }; /** Set the projects modified marker. * * @param prj The project * @param value The value to set * **/ void wb_project_set_modified(WB_PROJECT *prj, gboolean value) { if (prj != NULL) { prj->modified = value; } } /** Has the project been modified since the last save? * * @param prj The project * @return TRUE if project is modified, FALSE otherwise * **/ gboolean wb_project_is_modified(WB_PROJECT *prj) { if (prj != NULL) { return (prj->modified); } return FALSE; } /** Set the filename of a project. * * @param prj The project * @param filename The filename * **/ void wb_project_set_filename(WB_PROJECT *prj, const gchar *filename) { if (prj != NULL) { guint offset; gchar *ext; g_free(prj->filename); prj->filename = g_strdup(filename); g_free(prj->name); prj->name = g_path_get_basename (filename); ext = g_strrstr(prj->name, ".geany"); if(ext != NULL) { offset = strlen(prj->name); offset -= strlen(".geany"); if (ext == prj->name + offset) { /* Strip of file extension by overwriting '.' with string terminator. */ prj->name[offset] = '\0'; } } } } /** Get the filename of a project. * * @param prj The project * @return The filename * **/ const gchar *wb_project_get_filename(WB_PROJECT *prj) { if (prj != NULL) { return prj->filename; } return NULL; } /** Get the name of a project. * * @param prj The project * @return The project name * **/ const gchar *wb_project_get_name(WB_PROJECT *prj) { if (prj != NULL) { return prj->name; } return NULL; } /** Get the list of directories contained in the project. * * @param prj The project * @return GSList of directories (WB_PROJECT_DIRs) * **/ GSList *wb_project_get_directories(WB_PROJECT *prj) { if (prj != NULL) { return prj->directories; } return NULL; } /* Check if filename matches filetpye patterns */ static gboolean match_basename(gconstpointer pft, gconstpointer user_data) { const GeanyFiletype *ft = pft; const gchar *utf8_base_filename = user_data; gint j; gboolean ret = FALSE; if (G_UNLIKELY(ft->id == GEANY_FILETYPES_NONE)) return FALSE; for (j = 0; ft->pattern[j] != NULL; j++) { GPatternSpec *pattern = g_pattern_spec_new(ft->pattern[j]); if (g_pattern_match_string(pattern, utf8_base_filename)) { ret = TRUE; g_pattern_spec_free(pattern); break; } g_pattern_spec_free(pattern); } return ret; } /* Clear idle queue */ static void wb_project_clear_idle_queue(GSList **queue) { if (queue == NULL || *queue == NULL) { return; } g_slist_free_full(*queue, g_free); *queue = NULL; } /* Create a new project dir with base path "utf8_base_dir" */ static WB_PROJECT_DIR *wb_project_dir_new(const gchar *utf8_base_dir) { guint offset; if (utf8_base_dir == NULL) { return NULL; } WB_PROJECT_DIR *dir = g_new0(WB_PROJECT_DIR, 1); dir->base_dir = g_strdup(utf8_base_dir); dir->file_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GFreeFunc)tm_source_file_free); offset = strlen(dir->base_dir)-1; while (offset > 0 && dir->base_dir[offset] != '\\' && dir->base_dir[offset] != '/') { offset--; } if (offset != 0) { offset++; } dir->name = g_strdup(&(dir->base_dir[offset])); dir->is_prj_base_dir = FALSE; return dir; } /* Collect source files */ static void wb_project_dir_collect_source_files(G_GNUC_UNUSED gchar *filename, TMSourceFile *sf, gpointer user_data) { GPtrArray *array = user_data; if (sf != NULL) g_ptr_array_add(array, sf); } /** Set "is project base dir" of a project dir. * * @param directory The project dir * @param value TRUE: directory is the base dir of the project * FALSE: directory is another dir * **/ void wb_project_dir_set_is_prj_base_dir (WB_PROJECT_DIR *directory, gboolean value) { if (directory != NULL) { directory->is_prj_base_dir = value; } } /** Get "is project base dir" of a project dir. * * @param directory The project dir * @return TRUE: directory is the base dir of the project * FALSE: directory is another dir * **/ gboolean wb_project_dir_get_is_prj_base_dir (WB_PROJECT_DIR *directory) { if (directory != NULL) { return directory->is_prj_base_dir; } return FALSE; } /** Get the name of a project dir. * * @param directory The project dir * @return The name * **/ const gchar *wb_project_dir_get_name (WB_PROJECT_DIR *directory) { if (directory != NULL) { return directory->name; } return NULL; } /** Get the file table for the project dir. * * @param directory The project dir * @return A GHashTable of all files containing to the rpoject dir. * Might be empty if dir has not been scanned yet. * **/ GHashTable *wb_project_dir_get_file_table (WB_PROJECT_DIR *directory) { if (directory != NULL) { return directory->file_table; } return NULL; } /** Get the base/root dir of a project dir. * * @param directory The project dir * @return The base dir * **/ gchar *wb_project_dir_get_base_dir (WB_PROJECT_DIR *directory) { if (directory != NULL) { return directory->base_dir; } return NULL; } /** Get the file patterns of a project dir. * * @param directory The project dir * @return String array of file patterns * **/ gchar **wb_project_dir_get_file_patterns (WB_PROJECT_DIR *directory) { if (directory != NULL) { return directory->file_patterns; } return NULL; } /** Set the file patterns of a project dir. * * @param directory The project dir * @param new String array of file patterns to set * @return FALSE if directory is NULL, TRUE otherwise * **/ gboolean wb_project_dir_set_file_patterns (WB_PROJECT_DIR *directory, gchar **new) { if (directory != NULL) { g_strfreev(directory->file_patterns); directory->file_patterns = g_strdupv(new); return TRUE; } return FALSE; } /** Get the ignored dirs patterns of a project dir. * * @param directory The project dir * @return String array of ignored dirs patterns * **/ gchar **wb_project_dir_get_ignored_dirs_patterns (WB_PROJECT_DIR *directory) { if (directory != NULL) { return directory->ignored_dirs_patterns; } return NULL; } /** Set the ignored dirs patterns of a project dir. * * @param directory The project dir * @param new String array of ignored dirs patterns to set * @return FALSE if directory is NULL, TRUE otherwise * **/ gboolean wb_project_dir_set_ignored_dirs_patterns (WB_PROJECT_DIR *directory, gchar **new) { if (directory != NULL) { g_strfreev(directory->ignored_dirs_patterns); directory->ignored_dirs_patterns = g_strdupv(new); return TRUE; } return FALSE; } /** Get the ignored file patterns of a project dir. * * @param directory The project dir * @return String array of ignored file patterns * **/ gchar **wb_project_dir_get_ignored_file_patterns (WB_PROJECT_DIR *directory) { if (directory != NULL) { return directory->ignored_file_patterns; } return NULL; } /** Set the ignored file patterns of a project dir. * * @param directory The project dir * @param new String array of ignored dirs patterns to set * @return FALSE if directory is NULL, TRUE otherwise * **/ gboolean wb_project_dir_set_ignored_file_patterns (WB_PROJECT_DIR *directory, gchar **new) { if (directory != NULL) { g_strfreev(directory->ignored_file_patterns); directory->ignored_file_patterns = g_strdupv(new); return TRUE; } return FALSE; } /* Remove all files contained in the project dir from the tm-workspace */ static void wb_project_dir_remove_from_tm_workspace(WB_PROJECT_DIR *root) { GPtrArray *source_files; source_files = g_ptr_array_new(); g_hash_table_foreach(root->file_table, (GHFunc)wb_project_dir_collect_source_files, source_files); tm_workspace_remove_source_files(source_files); g_ptr_array_free(source_files, TRUE); } /* Free a project dir */ static void wb_project_dir_free(WB_PROJECT_DIR *dir) { wb_project_dir_remove_from_tm_workspace(dir); g_hash_table_destroy(dir->file_table); g_free(dir->base_dir); g_free(dir); } /* Compare two project dirs */ static gint wb_project_dir_comparator(WB_PROJECT_DIR *a, WB_PROJECT_DIR *b) { gchar *a_realpath, *b_realpath, *a_locale_base_dir, *b_locale_base_dir; gint res; a_locale_base_dir = utils_get_locale_from_utf8(a->base_dir); b_locale_base_dir = utils_get_locale_from_utf8(b->base_dir); a_realpath = utils_get_real_path(a_locale_base_dir); b_realpath = utils_get_real_path(b_locale_base_dir); res = g_strcmp0(a_realpath, b_realpath); g_free(a_realpath); g_free(b_realpath); g_free(a_locale_base_dir); g_free(b_locale_base_dir); return res; } /* Get the file count of a project */ static guint wb_project_get_file_count(WB_PROJECT *prj) { GSList *elem = NULL; guint filenum = 0; foreach_slist(elem, prj->directories) { filenum += ((WB_PROJECT_DIR *)elem->data)->file_count; } return filenum; } /* Rescan/update the file list of a project dir. */ static guint wb_project_dir_rescan_int(WB_PROJECT *prj, WB_PROJECT_DIR *root) { GSList *lst; GSList *elem = NULL; guint filenum = 0; gchar *searchdir; gchar **file_patterns = NULL; wb_project_dir_remove_from_tm_workspace(root); g_hash_table_remove_all(root->file_table); if (root->file_patterns && root->file_patterns[0]) { file_patterns = root->file_patterns; } searchdir = get_combined_path(prj->filename, root->base_dir); root->file_count = 0; root->folder_count = 0; lst = gp_filelist_scan_directory(&(root->file_count), &(root->folder_count), searchdir, file_patterns, root->ignored_dirs_patterns, root->ignored_file_patterns); g_free(searchdir); foreach_slist(elem, lst) { char *path = elem->data; if (path) { g_hash_table_insert(root->file_table, g_strdup(path), NULL); filenum++; } } g_slist_foreach(lst, (GFunc) g_free, NULL); g_slist_free(lst); return filenum; } /* Stolen and modified version from Geany. The only difference is that Geany * first looks at shebang inside the file and then, if it fails, checks the * file extension. Opening every file is too expensive so instead check just * extension and only if this fails, look at the shebang */ static GeanyFiletype *filetypes_detect(const gchar *utf8_filename) { struct stat s; GeanyFiletype *ft = NULL; gchar *locale_filename; locale_filename = utils_get_locale_from_utf8(utf8_filename); if (g_stat(locale_filename, &s) != 0 || s.st_size > 10*1024*1024) ft = filetypes[GEANY_FILETYPES_NONE]; else { guint i; gchar *utf8_base_filename; /* to match against the basename of the file (because of Makefile*) */ utf8_base_filename = g_path_get_basename(utf8_filename); #ifdef G_OS_WIN32 /* use lower case basename */ SETPTR(utf8_base_filename, g_utf8_strdown(utf8_base_filename, -1)); #endif for (i = 0; i < geany_data->filetypes_array->len; i++) { GeanyFiletype *ftype = filetypes[i]; if (match_basename(ftype, utf8_base_filename)) { ft = ftype; break; } } if (ft == NULL) ft = filetypes_detect_from_file(utf8_filename); g_free(utf8_base_filename); } g_free(locale_filename); return ft; } /* Regenerate tags */ static void wb_project_dir_regenerate_tags(WB_PROJECT_DIR *root, G_GNUC_UNUSED gpointer user_data) { GHashTableIter iter; gpointer key, value; GPtrArray *source_files; GHashTable *file_table; source_files = g_ptr_array_new(); file_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GFreeFunc)tm_source_file_free); g_hash_table_iter_init(&iter, root->file_table); while (g_hash_table_iter_next(&iter, &key, &value)) { TMSourceFile *sf; gchar *utf8_path = key; gchar *locale_path = utils_get_locale_from_utf8(utf8_path); sf = tm_source_file_new(locale_path, filetypes_detect(utf8_path)->name); if (sf && !document_find_by_filename(utf8_path)) g_ptr_array_add(source_files, sf); g_hash_table_insert(file_table, g_strdup(utf8_path), sf); g_free(locale_path); } g_hash_table_destroy(root->file_table); root->file_table = file_table; tm_workspace_add_source_files(source_files); g_ptr_array_free(source_files, TRUE); } /** Rescan/update the file list of a project dir. * * @param project The project to which directory belongs * @param directory The project dir * @return Number of files * **/ guint wb_project_dir_rescan(WB_PROJECT *prj, WB_PROJECT_DIR *root) { guint total, filenum; filenum = wb_project_dir_rescan_int(prj, root); total = wb_project_get_file_count(prj); if (prj->generate_tag_prefs == WB_PROJECT_TAG_PREFS_YES || (prj->generate_tag_prefs == WB_PROJECT_TAG_PREFS_AUTO && total < 300)) { wb_project_dir_regenerate_tags(root, NULL); } return filenum; } /** Rescan/update the file list of a project. * * @param project The project * **/ void wb_project_rescan(WB_PROJECT *prj) { GSList *elem = NULL; guint filenum = 0; if (!prj) { return; } wb_project_clear_idle_queue(&prj->s_idle_add_funcs); wb_project_clear_idle_queue(&prj->s_idle_remove_funcs); foreach_slist(elem, prj->directories) { filenum += wb_project_dir_rescan_int(prj, elem->data); } if (prj->generate_tag_prefs == WB_PROJECT_TAG_PREFS_YES || (prj->generate_tag_prefs == WB_PROJECT_TAG_PREFS_AUTO && filenum < 300)) { g_slist_foreach(prj->directories, (GFunc)wb_project_dir_regenerate_tags, NULL); } } /** Is @a filename included in the project directory? * * @param dir The project directory * @param filename The file * @return TRUE if file is included, FALSE otherwise * **/ gboolean wb_project_dir_file_is_included(WB_PROJECT_DIR *dir, const gchar *filename) { if (filename == NULL || dir == NULL) { return FALSE; } if (g_hash_table_lookup_extended (dir->file_table, filename, NULL, NULL)) { return TRUE; } return FALSE; } /** Is @a filename included in the project? * * @param dir The project * @param filename The file * @return TRUE if file is included, FALSE otherwise * **/ gboolean wb_project_file_is_included(WB_PROJECT *prj, const gchar *filename) { GSList *elem = NULL; if (prj == NULL) { return FALSE; } foreach_slist(elem, prj->directories) { if (wb_project_dir_file_is_included(elem->data, filename) == TRUE) { return TRUE; } } return FALSE; } static gboolean add_tm_idle(gpointer foo) { WB_PROJECT *prj; GSList *elem2 = NULL; prj = (WB_PROJECT *)foo; if (prj == NULL || prj->s_idle_add_funcs == NULL) { return FALSE; } foreach_slist (elem2, prj->s_idle_add_funcs) { GSList *elem = NULL; gchar *utf8_fname = elem2->data; foreach_slist (elem, prj->directories) { WB_PROJECT_DIR *dir = elem->data; TMSourceFile *sf = g_hash_table_lookup(dir->file_table, utf8_fname); if (sf != NULL && !document_find_by_filename(utf8_fname)) { tm_workspace_add_source_file(sf); break; /* single file representation in TM is enough */ } } } wb_project_clear_idle_queue(&(prj->s_idle_add_funcs)); return FALSE; } /* This function gets called when document is being closed by Geany and we need * to add the TMSourceFile from the tag manager because Geany removes it on * document close. * * Additional problem: The tag removal in Geany happens after this function is called. * To be sure, perform on idle after this happens (even though from my knowledge of TM * this shouldn't probably matter). */ void wb_project_add_single_tm_file(WB_PROJECT *prj, const gchar *filename) { if (prj == NULL) { return; } if (prj->s_idle_add_funcs == NULL) { plugin_idle_add(wb_globals.geany_plugin, (GSourceFunc)add_tm_idle, prj); } prj->s_idle_add_funcs = g_slist_prepend(prj->s_idle_add_funcs, g_strdup(filename)); } static gboolean remove_tm_idle(gpointer foo) { WB_PROJECT *prj; GSList *elem2 = NULL; prj = (WB_PROJECT *)foo; if (prj == NULL || prj->s_idle_remove_funcs == NULL) { return FALSE; } foreach_slist (elem2, prj->s_idle_remove_funcs) { GSList *elem = NULL; gchar *utf8_fname = elem2->data; foreach_slist (elem, prj->directories) { WB_PROJECT_DIR *dir = elem->data; TMSourceFile *sf = g_hash_table_lookup(dir->file_table, utf8_fname); if (sf != NULL) { tm_workspace_remove_source_file(sf); } } } wb_project_clear_idle_queue(&(prj->s_idle_remove_funcs)); return FALSE; } /* This function gets called when document is being opened by Geany and we need * to remove the TMSourceFile from the tag manager because Geany inserts * it for the newly open tab. Even though tag manager would handle two identical * files, the file inserted by the plugin isn't updated automatically in TM * so any changes wouldn't be reflected in the tags array (e.g. removed function * from source file would still be found in TM) * * Additional problem: The document being opened may be caused * by going to tag definition/declaration - tag processing is in progress * when this function is called and if we remove the TmSourceFile now, line * number for the searched tag won't be found. For this reason delay the tag * TmSourceFile removal until idle */ void wb_project_remove_single_tm_file(WB_PROJECT *prj, const gchar *utf8_filename) { if (prj == NULL) { return; } if (prj->s_idle_remove_funcs == NULL) { plugin_idle_add(wb_globals.geany_plugin, (GSourceFunc)remove_tm_idle, prj); } prj->s_idle_remove_funcs = g_slist_prepend(prj->s_idle_remove_funcs, g_strdup(utf8_filename)); } /* Add a directory to the project */ static WB_PROJECT_DIR *wb_project_add_directory_int(WB_PROJECT *prj, const gchar *dirname, gboolean rescan) { if (prj != NULL) { WB_PROJECT_DIR *new_dir = wb_project_dir_new(dirname); if (prj->directories != NULL) { GSList *lst = prj->directories->next; lst = g_slist_prepend(lst, new_dir); lst = g_slist_sort(lst, (GCompareFunc)wb_project_dir_comparator); prj->directories->next = lst; } else { prj->directories = g_slist_append(prj->directories, new_dir); } if (rescan) { wb_project_rescan(prj); } return new_dir; } return NULL; } /** Adds a new project dir to the project. * * @param project The project * @param dirname The base dir of the new project dir * @return TRUE on success, FALSE otherwise * **/ gboolean wb_project_add_directory(WB_PROJECT *prj, const gchar *dirname) { gchar *reldirname; /* Convert dirname to path relative to the project file */ reldirname = get_any_relative_path(prj->filename, dirname); if (wb_project_add_directory_int(prj, reldirname, TRUE) != NULL) { prj->modified = TRUE; return TRUE; } g_free(reldirname); return FALSE; } /** Remove a project dir from the project. * * @param project The project * @param dir The project dir to remove * @return FALSE on NULL parameter, TRUE otherwise * **/ gboolean wb_project_remove_directory (WB_PROJECT *prj, WB_PROJECT_DIR *dir) { if (prj != NULL && dir != NULL) { prj->directories = g_slist_remove(prj->directories, dir); wb_project_dir_free(dir); wb_project_rescan(prj); prj->modified = TRUE; } return FALSE; } /** Get an info string for the project dir. * * @param dir The project dir * @return The info string * **/ gchar *wb_project_dir_get_info (WB_PROJECT_DIR *dir) { gchar *str; if (dir == NULL) return g_strdup(""); GString *temp = g_string_new(NULL); gchar *text; g_string_append_printf(temp, _("Directory-Name: %s\n"), wb_project_dir_get_name(dir)); g_string_append_printf(temp, _("Base-Directory: %s\n"), wb_project_dir_get_base_dir(dir)); g_string_append(temp, _("File Patterns:")); str = g_strjoinv(" ", dir->file_patterns); if (str != NULL ) { g_string_append_printf(temp, " %s\n", str); g_free(str); } else { g_string_append(temp, "\n"); } g_string_append(temp, _("Ignored Dir. Patterns:")); str = g_strjoinv(" ", dir->ignored_dirs_patterns); if (str != NULL ) { g_string_append_printf(temp, " %s\n", str); g_free(str); } else { g_string_append(temp, "\n"); } g_string_append(temp, _("Ignored File Patterns:")); str = g_strjoinv(" ", dir->ignored_file_patterns); if (str != NULL ) { g_string_append_printf(temp, " %s\n", str); g_free(str); } else { g_string_append(temp, "\n"); } g_string_append_printf(temp, _("Number of Sub-Folders: %u\n"), dir->folder_count); g_string_append_printf(temp, _("Number of Files: %u\n"), dir->file_count); /* Steal string content */ text = temp->str; g_string_free (temp, FALSE); return text; } /** Get an info string for the project. * * @param prj The project * @return The info string * **/ gchar *wb_project_get_info (WB_PROJECT *prj) { GString *temp = g_string_new(NULL); gchar *text; if (prj == NULL) return g_strdup(""); g_string_append_printf(temp, _("Project: %s\n"), wb_project_get_name(prj)); g_string_append_printf(temp, _("File: %s\n"), wb_project_get_filename(prj)); g_string_append_printf(temp, _("Number of Directories: %u\n"), g_slist_length(prj->directories)); if (wb_project_is_modified(prj)) { g_string_append(temp, _("\nThe project contains unsaved changes!\n")); } /* Steal string content */ text = temp->str; g_string_free (temp, FALSE); return text; } /* Save directories to key file */ static void wb_project_save_directories (gpointer data, gpointer user_data) { gchar key[250], *str; WB_PROJECT_DIR *dir; WB_PROJECT_ON_SAVE_USER_DATA *tmp; if (data == NULL || user_data == NULL) { return; } tmp = (WB_PROJECT_ON_SAVE_USER_DATA *)user_data; dir = (WB_PROJECT_DIR *)data; if (wb_project_dir_get_is_prj_base_dir(dir) == TRUE) { g_key_file_set_string(tmp->kf, "Workbench", "Prj-BaseDir", dir->base_dir); str = g_strjoinv(";", dir->file_patterns); g_key_file_set_string(tmp->kf, "Workbench", "Prj-FilePatterns", str); g_free(str); str = g_strjoinv(";", dir->ignored_dirs_patterns); g_key_file_set_string(tmp->kf, "Workbench", "Prj-IgnoredDirsPatterns", str); g_free(str); str = g_strjoinv(";", dir->ignored_file_patterns); g_key_file_set_string(tmp->kf, "Workbench", "Prj-IgnoredFilePatterns", str); g_free(str); } else { g_snprintf(key, sizeof(key), "Dir%u-BaseDir", tmp->dir_count); g_key_file_set_string(tmp->kf, "Workbench", key, dir->base_dir); g_snprintf(key, sizeof(key), "Dir%u-FilePatterns", tmp->dir_count); str = g_strjoinv(";", dir->file_patterns); g_key_file_set_string(tmp->kf, "Workbench", key, str); g_free(str); g_snprintf(key, sizeof(key), "Dir%u-IgnoredDirsPatterns", tmp->dir_count); str = g_strjoinv(";", dir->ignored_dirs_patterns); g_key_file_set_string(tmp->kf, "Workbench", key, str); g_free(str); g_snprintf(key, sizeof(key), "Dir%u-IgnoredFilePatterns", tmp->dir_count); str = g_strjoinv(";", dir->ignored_file_patterns); g_key_file_set_string(tmp->kf, "Workbench", key, str); g_free(str); tmp->dir_count++; } } /* Add a bookmark to the project */ static gboolean wb_project_add_bookmark_int(WB_PROJECT *prj, const gchar *filename) { if (prj != NULL) { gchar *new; new = g_strdup(filename); if (new != NULL) { g_ptr_array_add (prj->bookmarks, new); return TRUE; } } return FALSE; } /** Add a bookmark to the project. * * @param prj The project * @param filename Bookmark * @return TRUE on success, FALSE otherwise * **/ gboolean wb_project_add_bookmark(WB_PROJECT *prj, const gchar *filename) { if (wb_project_add_bookmark_int(prj, filename) == TRUE) { prj->modified = TRUE; return TRUE; } return FALSE; } /** Remove a bookmark from the project. * * @param prj The project * @param filename Bookmark * @return TRUE on success, FALSE otherwise * **/ gboolean wb_project_remove_bookmark(WB_PROJECT *prj, const gchar *filename) { if (prj != NULL) { guint index; gchar *current; for (index = 0 ; index < prj->bookmarks->len ; index++) { current = g_ptr_array_index(prj->bookmarks, index); if (current == filename) { g_ptr_array_remove_index (prj->bookmarks, index); prj->modified = TRUE; return TRUE; } } } return FALSE; } /* Free all bookmarks */ static gboolean wb_project_free_all_bookmarks(WB_PROJECT *prj) { if (prj != NULL) { guint index; gchar *current; for (index = 0 ; index < prj->bookmarks->len ; index++) { current = g_ptr_array_index(prj->bookmarks, index); g_free(current); } g_ptr_array_free(prj->bookmarks, TRUE); } return FALSE; } /** Get the bookmark of a project at index @a index. * * @param prj The project * @param index The index * @return The filename of the boomark (or NULL if prj is NULL) * **/ gchar *wb_project_get_bookmark_at_index (WB_PROJECT *prj, guint index) { if (prj != NULL) { gchar *file; file = g_ptr_array_index(prj->bookmarks, index); if (file == NULL) { return NULL; } return file; } return NULL; } /** Get the number of bookmarks of a project. * * @param prj The project * @return The number of bookmarks * **/ guint wb_project_get_bookmarks_count(WB_PROJECT *prj) { if (prj != NULL && prj->bookmarks != NULL) { return prj->bookmarks->len; } return 0; } /** Save a project. * * The function saves the project config file. Only the workbench plugin info * is changed, all other config options remain unchanged. * * @param prj The project * @param error Location to store error info at * @return TRUE on success, FALSE otherwise * **/ gboolean wb_project_save(WB_PROJECT *prj, GError **error) { GKeyFile *kf; guint index; gchar *contents; gsize length, boomarks_size; gboolean success = FALSE; WB_PROJECT_ON_SAVE_USER_DATA tmp; g_return_val_if_fail(prj, FALSE); /* Load existing data into GKeyFile */ kf = g_key_file_new (); if (!g_key_file_load_from_file(kf, prj->filename, G_KEY_FILE_NONE, error)) { return FALSE; } /* Remove existing, old data from our plugin */ g_key_file_remove_group (kf, "Workbench", NULL); /* Save Project bookmarks as string list */ boomarks_size = wb_project_get_bookmarks_count(prj); if (boomarks_size > 0) { gchar **bookmarks_strings, *file, *rel_path; bookmarks_strings = g_new0(gchar *, boomarks_size+1); for (index = 0 ; index < boomarks_size ; index++ ) { file = wb_project_get_bookmark_at_index(prj, index); rel_path = get_any_relative_path(prj->filename, file); bookmarks_strings[index] = rel_path; } g_key_file_set_string_list (kf, "Workbench", "Bookmarks", (const gchar **)bookmarks_strings, boomarks_size); for (index = 0 ; index < boomarks_size ; index++ ) { g_free (bookmarks_strings[index]); } g_free(bookmarks_strings); } /* Init tmp data */ tmp.kf = kf; tmp.dir_count = 1; /* Store our directories */ g_slist_foreach(prj->directories, (GFunc)wb_project_save_directories, &tmp); /* Get data as string */ contents = g_key_file_to_data (kf, &length, error); g_key_file_free(kf); /* Save to file */ success = g_file_set_contents (prj->filename, contents, length, error); if (success) { prj->modified = FALSE; } g_free (contents); return success; } /** Load a project. * * The function loads the project data from file @a filename into the * project structure @a prj. * * @param prj The project * @param filename File to load * @param error Location to store error info at * @return TRUE on success, FALSE otherwise * **/ gboolean wb_project_load(WB_PROJECT *prj, gchar *filename, GError **error) { GKeyFile *kf; guint index; gchar *contents, *str; gchar **splitv; gchar key[100]; gsize length; gboolean success = FALSE; WB_PROJECT_DIR *new_dir; g_return_val_if_fail(prj, FALSE); if (!g_file_get_contents (filename, &contents, &length, error)) { return FALSE; } kf = g_key_file_new (); if (!g_key_file_load_from_data (kf, contents, length, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, error)) { g_key_file_free (kf); g_free (contents); return FALSE; } /* Import project's base path and file patterns, if not done yet. (from Geany's standard project configuration) */ if (g_key_file_has_group (kf, "project") && !g_key_file_has_key(kf, "Workbench", "Prj-BaseDir", NULL)) { gchar *base_path; base_path = g_key_file_get_string(kf, "project", "base_path", NULL); if (base_path != NULL) { gchar *reldirname; /* Convert dirname to path relative to the project file */ reldirname = get_any_relative_path(prj->filename, base_path); new_dir = wb_project_add_directory_int(prj, reldirname, FALSE); if (new_dir != NULL) { wb_project_set_modified(prj, TRUE); wb_project_dir_set_is_prj_base_dir(new_dir, TRUE); str = g_key_file_get_string(kf, "project", "file_patterns", NULL); if (str != NULL) { splitv = g_strsplit (str, ";", -1); wb_project_dir_set_file_patterns(new_dir, splitv); g_strfreev(splitv); } g_free(str); } g_free(reldirname); g_free(base_path); } } if (g_key_file_has_group (kf, "Workbench")) { gchar **bookmarks_strings; /* Load project bookmarks from string list */ bookmarks_strings = g_key_file_get_string_list (kf, "Workbench", "Bookmarks", NULL, error); if (bookmarks_strings != NULL) { gchar **file, *abs_path; file = bookmarks_strings; while (*file != NULL) { abs_path = get_combined_path(prj->filename, *file); if (abs_path != NULL) { wb_project_add_bookmark_int(prj, abs_path); g_free(abs_path); } file++; } g_strfreev(bookmarks_strings); } /* Load project base dir. */ str = g_key_file_get_string(kf, "Workbench", "Prj-BaseDir", NULL); if (str != NULL) { new_dir = wb_project_add_directory_int(prj, str, FALSE); if (new_dir != NULL) { wb_project_dir_set_is_prj_base_dir(new_dir, TRUE); str = g_key_file_get_string(kf, "Workbench", "Prj-FilePatterns", NULL); if (str != NULL) { splitv = g_strsplit (str, ";", -1); wb_project_dir_set_file_patterns(new_dir, splitv); } g_free(str); str = g_key_file_get_string(kf, "Workbench", "Prj-IgnoredDirsPatterns", NULL); if (str != NULL) { splitv = g_strsplit (str, ";", -1); wb_project_dir_set_ignored_dirs_patterns(new_dir, splitv); } g_free(str); str = g_key_file_get_string(kf, "Workbench", "Prj-IgnoredFilePatterns", NULL); if (str != NULL) { splitv = g_strsplit (str, ";", -1); wb_project_dir_set_ignored_file_patterns(new_dir, splitv); } g_free(str); } } /* Load project dirs */ for (index = 1 ; index < 1025 ; index++) { g_snprintf(key, sizeof(key), "Dir%u-BaseDir", index); str = g_key_file_get_string(kf, "Workbench", key, NULL); if (str == NULL) { break; } new_dir = wb_project_add_directory_int(prj, str, FALSE); if (new_dir == NULL) { break; } g_snprintf(key, sizeof(key), "Dir%u-FilePatterns", index); str = g_key_file_get_string(kf, "Workbench", key, NULL); if (str != NULL) { splitv = g_strsplit (str, ";", -1); wb_project_dir_set_file_patterns(new_dir, splitv); } g_free(str); g_snprintf(key, sizeof(key), "Dir%u-IgnoredDirsPatterns", index); str = g_key_file_get_string(kf, "Workbench", key, NULL); if (str != NULL) { splitv = g_strsplit (str, ";", -1); wb_project_dir_set_ignored_dirs_patterns(new_dir, splitv); } g_free(str); g_snprintf(key, sizeof(key), "Dir%u-IgnoredFilePatterns", index); str = g_key_file_get_string(kf, "Workbench", key, NULL); if (str != NULL) { splitv = g_strsplit (str, ";", -1); wb_project_dir_set_ignored_file_patterns(new_dir, splitv); } g_free(str); } } g_key_file_free(kf); g_free (contents); success = TRUE; return success; } /** Create a new empty project. * * @return Address of the new structure. * **/ WB_PROJECT *wb_project_new(const gchar *filename) { WB_PROJECT *new_prj; new_prj = g_malloc0(sizeof *new_prj); new_prj->modified = FALSE; wb_project_set_filename(new_prj, filename); new_prj->bookmarks = g_ptr_array_new(); new_prj->generate_tag_prefs = WB_PROJECT_TAG_PREFS_YES; return new_prj; } /** Free a project. * * @param prj Adress of structure to free * **/ void wb_project_free(WB_PROJECT *prj) { /* Free directories first */ g_slist_free_full(prj->directories, (GDestroyNotify)wb_project_dir_free); /* Free all bookmarks */ wb_project_free_all_bookmarks(prj); g_free(prj->filename); g_free(prj->name); g_free(prj); } geany-plugins-1.32/workbench/src/plugin_main.c0000644000175000017500000000736713171306761021750 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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. */ /* * Code for plugin setup/registration. */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include "sidebar.h" #include "menu.h" #include "popup_menu.h" GeanyPlugin *geany_plugin; GeanyData *geany_data; /* Callback function for document open */ static void plugin_workbench_on_doc_open(G_GNUC_UNUSED GObject * obj, G_GNUC_UNUSED GeanyDocument * doc, G_GNUC_UNUSED gpointer user_data) { WB_PROJECT *project; g_return_if_fail(doc != NULL && doc->file_name != NULL); project = workbench_file_is_included(wb_globals.opened_wb, doc->file_name); if (project != NULL) { wb_project_remove_single_tm_file(project, doc->file_name); } } /* Callback function for document close */ static void plugin_workbench_on_doc_close(G_GNUC_UNUSED GObject * obj, GeanyDocument * doc, G_GNUC_UNUSED gpointer user_data) { WB_PROJECT *project; g_return_if_fail(doc != NULL); if (doc->file_name == NULL) { return; } /* tags of open files managed by geany - when the file gets closed, * we should take care of it */ project = workbench_file_is_included(wb_globals.opened_wb, doc->file_name); if (project != NULL) { wb_project_add_single_tm_file(project, doc->file_name); } } /* Initialize plugin */ static gboolean plugin_workbench_init(GeanyPlugin *plugin, G_GNUC_UNUSED gpointer pdata) { /* Init/Update globals */ workbench_globals_init(); wb_globals.geany_plugin = plugin; geany_plugin = plugin; geany_data = plugin->geany_data; menu_init(); sidebar_init(); popup_menu_init(); /* At start there is no workbench open: deactive save and close menu item and sidebar */ menu_set_context(MENU_CONTEXT_WB_CLOSED); sidebar_show_intro_message(_("Create or open a workbench\nusing the workbench menu."), FALSE); return TRUE; } /* Cleanup plugin */ static void plugin_workbench_cleanup(G_GNUC_UNUSED GeanyPlugin *plugin, G_GNUC_UNUSED gpointer pdata) { menu_cleanup(); sidebar_cleanup(); } /* Show help */ static void plugin_workbench_help (G_GNUC_UNUSED GeanyPlugin *plugin, G_GNUC_UNUSED gpointer pdata) { utils_open_browser("http://plugins.geany.org/workbench.html"); } static PluginCallback plugin_workbench_callbacks[] = { {"document-open", (GCallback) &plugin_workbench_on_doc_open, TRUE, NULL}, {"document-close", (GCallback) &plugin_workbench_on_doc_close, TRUE, NULL}, {NULL, NULL, FALSE, NULL} }; /* Load module */ G_MODULE_EXPORT void geany_load_module(GeanyPlugin *plugin) { /* Setup translation */ main_locale_init(LOCALEDIR, GETTEXT_PACKAGE); /* Set metadata */ plugin->info->name = _("Workbench"); plugin->info->description = _("Manage and customize multiple projects."); plugin->info->version = "1.01"; plugin->info->author = "LarsGit223"; /* Set functions */ plugin->funcs->init = plugin_workbench_init; plugin->funcs->cleanup = plugin_workbench_cleanup; plugin->funcs->help = plugin_workbench_help; plugin->funcs->callbacks = plugin_workbench_callbacks; /* Register! */ GEANY_PLUGIN_REGISTER(plugin, 235); } geany-plugins-1.32/workbench/src/workbench.c0000644000175000017500000004161213171306761021417 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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. */ /* * Code for the WORKBENCH structure. */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include "workbench.h" #include "wb_project.h" #include "utils.h" typedef struct { PROJECT_ENTRY_STATUS status; gchar *abs_filename; gchar *rel_filename; gboolean use_abs; WB_PROJECT *project; }WB_PROJECT_ENTRY; struct S_WORKBENCH { gchar *filename; gchar *name; gboolean modified; gboolean rescan_projects_on_open; GPtrArray *projects; GPtrArray *bookmarks; }; /* Create a new, empty workbench project entry */ static WB_PROJECT_ENTRY *wb_project_entry_new(void) { WB_PROJECT_ENTRY *new_entry; new_entry = g_new(WB_PROJECT_ENTRY, 1); memset(new_entry, 0, sizeof(*new_entry)); new_entry->status = PROJECT_ENTRY_STATUS_UNKNOWN; return new_entry; } /* Free a workbench entry */ static void wb_project_entry_free(WB_PROJECT_ENTRY *entry) { wb_project_free(entry->project); g_free(entry->abs_filename); g_free(entry->rel_filename); g_free(entry); } /** Create a new empty workbench. * * @return Address of the new structure. * **/ WORKBENCH *workbench_new(void) { WORKBENCH *new_wb; new_wb = g_new(WORKBENCH, 1); memset(new_wb, 0, sizeof(*new_wb)); new_wb->modified = FALSE; new_wb->rescan_projects_on_open = TRUE; new_wb->projects = g_ptr_array_new(); new_wb->bookmarks = g_ptr_array_new(); return new_wb; } /** Free a workbench. * * @param wb The workbench * **/ void workbench_free(WORKBENCH *wb) { WB_PROJECT_ENTRY *entry; guint index; if (wb == NULL) { return; } /* Free projects and project entries first */ for (index = 0 ; index < wb->projects->len ; index++) { entry = g_ptr_array_index(wb->projects, index); if (entry != NULL) { wb_project_entry_free(entry); } } g_ptr_array_free (wb->projects, TRUE); g_free(wb); } /** Is the workbench empty? * * @param wb The workbench * @return TRUE is workbench is empty or wb == NULL, * FALSE otherwise. * **/ gboolean workbench_is_empty(WORKBENCH *wb) { if (wb != NULL) { return (wb->projects->len == 0); } return TRUE; } /** Get the project count. * * @param wb The workbench * @return TRUE is workbench is empty or wb == NULL, * FALSE otherwise. * **/ guint workbench_get_project_count(WORKBENCH *wb) { if (wb != NULL) { return wb->projects->len; } return 0; } /** Is the workbench modified? * * @param wb The workbench * @return TRUE if the workbench is modified, * FALSE if not or wb == NULL * **/ gboolean workbench_is_modified(WORKBENCH *wb) { if (wb != NULL) { return wb->modified; } return FALSE; } /** Set the "Rescan projects on open" option. * * @param wb The workbench * @param value The value to set * **/ void workbench_set_rescan_projects_on_open(WORKBENCH *wb, gboolean value) { if (wb != NULL) { if (wb->rescan_projects_on_open != value) { wb->rescan_projects_on_open = value; wb->modified = TRUE; } } } /** Get the "Rescan projects on open" option. * * @param wb The workbench * @return TRUE = rescan all projects after opening the workbench, * FALSE = don't * **/ gboolean workbench_get_rescan_projects_on_open(WORKBENCH *wb) { if (wb != NULL) { return wb->rescan_projects_on_open; } return FALSE; } /** Set the filename. * * @param wb The workbench * @param filename Name of the workbench file * **/ void workbench_set_filename(WORKBENCH *wb, const gchar *filename) { if (wb != NULL) { guint offset; gchar *ext; wb->filename = g_strdup(filename); wb->name = g_path_get_basename (filename); ext = g_strrstr(wb->name, ".geanywb"); if(ext != NULL) { offset = strlen(wb->name); offset -= strlen(".geanywb"); if (ext == wb->name + offset) { /* Strip of file extension by overwriting '.' with string terminator. */ wb->name[offset] = '\0'; } } } } /** Get the filename. * * @param wb The workbench * @return The filename or NULL * **/ const gchar *workbench_get_filename(WORKBENCH *wb) { if (wb != NULL) { return wb->filename; } return NULL; } /** Get the name. * * @param wb The workbench * @return The name or NULL * **/ gchar *workbench_get_name(WORKBENCH *wb) { if (wb != NULL) { return wb->name; } return NULL; } /** Get the project stored in the workbench at @a index. * * @param wb The workbench * @param index The index * @return Adress of the WB_PROJECT structure or NULL * if wb == NULL or an invalid index * **/ WB_PROJECT *workbench_get_project_at_index (WORKBENCH *wb, guint index) { if (wb != NULL) { WB_PROJECT_ENTRY *entry; entry = g_ptr_array_index(wb->projects, index); if (entry == NULL) { return NULL; } return entry->project; } return NULL; } /** Get the project status in the workbench at @a index. * * Actually the project status just gives information about wheter * the project file for the project at @a index was found or not. * * @param wb The workbench * @param index The index * @return the status or PROJECT_ENTRY_STATUS_UNKNOWN if wb == NULL * **/ PROJECT_ENTRY_STATUS workbench_get_project_status_at_index (WORKBENCH *wb, guint index) { if (wb != NULL) { WB_PROJECT_ENTRY *entry; entry = g_ptr_array_index(wb->projects, index); if (entry == NULL) { return PROJECT_ENTRY_STATUS_UNKNOWN; } return entry->status; } return PROJECT_ENTRY_STATUS_UNKNOWN; } /** Get the project status in the workbench by address. * * Actually the project status just gives information about wheter * the project file for the project at @a index was found or not. * * @param wb The workbench * @param address Location of the project * @return the status or PROJECT_ENTRY_STATUS_UNKNOWN if wb == NULL * **/ PROJECT_ENTRY_STATUS workbench_get_project_status_by_address (WORKBENCH *wb, WB_PROJECT *address) { guint index; if (wb != NULL || address == NULL) { WB_PROJECT_ENTRY *entry; for (index = 0 ; index < wb->projects->len ; index++) { entry = g_ptr_array_index(wb->projects, index); if (entry != NULL && entry->project == address) { return entry->status; } } } return PROJECT_ENTRY_STATUS_UNKNOWN; } /** Add a project to the workbench. * * @param wb The workbench * @param filename Project file * @return TRUE on success, FALSE otherwise * **/ gboolean workbench_add_project(WORKBENCH *wb, const gchar *filename) { if (wb != NULL) { GStatBuf buf; WB_PROJECT *project; WB_PROJECT_ENTRY *entry; entry = wb_project_entry_new(); if (entry == NULL) { return FALSE; } project = wb_project_new(filename); if (project == NULL) { wb_project_entry_free(entry); return FALSE; } /* Set entry data: - absolute and relative filename (relative to workbench file) - per default use relative path - check status of project file - pointer to the project data */ entry->abs_filename = g_strdup(filename); entry->rel_filename = get_any_relative_path (wb->filename, filename); entry->use_abs = FALSE; entry->project = project; if (g_stat (filename, &buf) == 0) { entry->status = PROJECT_ENTRY_STATUS_OK; } else { entry->status = PROJECT_ENTRY_STATUS_NOT_FOUND; } g_ptr_array_add (wb->projects, entry); wb->modified = TRUE; return TRUE; } return FALSE; } /** Remove a project from the workbench. * * @param wb The workbench * @param project The Project * @return TRUE on success, FALSE otherwise * **/ gboolean workbench_remove_project_with_address(WORKBENCH *wb, WB_PROJECT *project) { if (wb != NULL && wb->projects != NULL) { guint index; WB_PROJECT_ENTRY *current; for (index = 0 ; index < wb->projects->len ; index++) { current = g_ptr_array_index(wb->projects, index); if (current != NULL && current->project == project) { g_ptr_array_remove_index (wb->projects, index); wb_project_entry_free(current); wb->modified = TRUE; return TRUE; } } } return FALSE; } /** Is the file included in the workbench? * * @param wb The workbench * @param filename The file * @return Address of project in which the file is included. * NULL if the file is not included in any workbench project. * **/ WB_PROJECT *workbench_file_is_included (WORKBENCH *wb, const gchar *filename) { if (wb != NULL) { guint index; WB_PROJECT_ENTRY *current; for (index = 0 ; index < wb->projects->len ; index++) { current = g_ptr_array_index(wb->projects, index); if (current != NULL && wb_project_file_is_included(current->project, filename) == TRUE) { return current->project; } } } return NULL; } /* Add a workbench bookmark */ static gboolean workbench_add_bookmark_int(WORKBENCH *wb, const gchar *filename) { if (wb != NULL && filename != NULL) { gchar *new; new = g_strdup(filename); g_ptr_array_add (wb->bookmarks, new); return TRUE; } return FALSE; } /** Add a bookmark to a workbench. * * @param wb The workbench * @param filename File to bookmark * @return TRUE on success, FALSE otherwise * **/ gboolean workbench_add_bookmark(WORKBENCH *wb, const gchar *filename) { if (workbench_add_bookmark_int(wb, filename) == TRUE) { wb->modified = TRUE; return TRUE; } return FALSE; } /** Remove a bookmark from a workbench by filename address. * * @param wb The workbench * @param filename File to remove * @return TRUE on success, FALSE otherwise * **/ gboolean workbench_remove_bookmark(WORKBENCH *wb, const gchar *filename) { if (wb != NULL) { guint index; gchar *current; for (index = 0 ; index < wb->bookmarks->len ; index++) { current = g_ptr_array_index(wb->bookmarks, index); if (current == filename) { g_ptr_array_remove_index (wb->bookmarks, index); wb->modified = TRUE; return TRUE; } } } return FALSE; } /** Get the bookmark at @a index. * * @param wb The workbench * @param index The index * @return Address of filename or NULL * **/ gchar *workbench_get_bookmark_at_index (WORKBENCH *wb, guint index) { if (wb != NULL) { gchar *file; file = g_ptr_array_index(wb->bookmarks, index); if (file == NULL) { return NULL; } return file; } return NULL; } /** Get the number of bookmarks in a workbench. * * @param wb The workbench * @return The number of bookmarks or 0 if wb == NULL * **/ guint workbench_get_bookmarks_count(WORKBENCH *wb) { if (wb != NULL && wb->bookmarks != NULL) { return wb->bookmarks->len; } return 0; } /** Save a workbench. * * @param wb The workbench * @param error Location for returning an GError * @return TRUE on success, FALSE otherwise * **/ gboolean workbench_save(WORKBENCH *wb, GError **error) { gboolean success = FALSE; if (wb != NULL) { GKeyFile *kf; guint index; gchar *contents; gchar group[20]; gsize length, boomarks_size; WB_PROJECT_ENTRY *entry; kf = g_key_file_new (); /* Save common, simple values */ g_key_file_set_string(kf, "General", "filetype", "workbench"); g_key_file_set_string(kf, "General", "version", "1.0"); g_key_file_set_boolean(kf, "General", "RescanProjectsOnOpen", wb->rescan_projects_on_open); /* Save Workbench bookmarks as string list */ boomarks_size = workbench_get_bookmarks_count(wb); if (boomarks_size > 0) { gchar **bookmarks_strings, *file, *rel_path; bookmarks_strings = g_new0(gchar *, boomarks_size+1); for (index = 0 ; index < boomarks_size ; index++ ) { file = workbench_get_bookmark_at_index(wb, index); rel_path = get_any_relative_path(wb->filename, file); bookmarks_strings[index] = rel_path; } g_key_file_set_string_list (kf, "General", "Bookmarks", (const gchar **)bookmarks_strings, boomarks_size); for (index = 0 ; index < boomarks_size ; index++ ) { g_free (bookmarks_strings[index]); } g_free(bookmarks_strings); } /* Save projects data */ for (index = 0 ; index < wb->projects->len ; index++) { entry = g_ptr_array_index(wb->projects, index); g_snprintf(group, sizeof(group), "Project-%u", (index+1)); g_key_file_set_string(kf, group, "AbsFilename", entry->abs_filename); g_key_file_set_string(kf, group, "RelFilename", entry->rel_filename); g_key_file_set_boolean(kf, group, "UseAbsFilename", entry->use_abs); } contents = g_key_file_to_data (kf, &length, error); if (contents != NULL && *error == NULL) { g_key_file_free(kf); success = g_file_set_contents (wb->filename, contents, length, error); if (success) { wb->modified = FALSE; } g_free (contents); } } else if (error != NULL) { g_set_error (error, 0, 0, "Internal error: param missing (file: %s, line %d)", __FILE__, __LINE__); } return success; } /** Load a workbench file. * * The function loads the workbench settings from file @a filename and * stores it into @a wb. * * @param wb The workbench * @param filename File to load from * @param error Location for returning an GError * @return TRUE on success, FALSE otherwise * **/ gboolean workbench_load(WORKBENCH *wb, const gchar *filename, GError **error) { gboolean success = FALSE; if (wb != NULL) { GKeyFile *kf; gboolean valid = TRUE; guint index; gchar *contents, **bookmarks_strings; gchar group[20]; gsize length; WB_PROJECT_ENTRY *entry; if (!g_file_get_contents (filename, &contents, &length, error)) { return FALSE; } kf = g_key_file_new (); if (!g_key_file_load_from_data (kf, contents, length, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, error)) { g_key_file_free (kf); g_free (contents); return FALSE; } if (g_key_file_has_key (kf, "General", "filetype", NULL) && g_key_file_has_key (kf, "General", "version", NULL)) { gchar *check; check = g_key_file_get_string (kf, "General", "filetype", error); if (check == NULL || g_strcmp0(check, "workbench") != 0) { valid = FALSE; } g_free(check); } else { valid = FALSE; } if (!valid) { g_set_error (error, 0, 0, _("File %s is not a valid workbench file!"), filename); return FALSE; } workbench_set_filename(wb, filename); wb->rescan_projects_on_open = g_key_file_get_boolean(kf, "General", "RescanProjectsOnOpen", error); /* Load Workbench bookmarks from string list */ bookmarks_strings = g_key_file_get_string_list (kf, "General", "Bookmarks", NULL, error); if (bookmarks_strings != NULL) { gchar **file, *abs_path; file = bookmarks_strings; while (*file != NULL) { abs_path = get_combined_path(wb->filename, *file); if (abs_path != NULL) { workbench_add_bookmark_int(wb, abs_path); g_free(abs_path); } file++; } g_strfreev(bookmarks_strings); } /* Load projects data */ for (index = 0 ; index < 1024 ; index++) { g_snprintf(group, sizeof(group), "Project-%u", (index+1)); if (g_key_file_has_key (kf, group, "AbsFilename", NULL)) { gchar *prj_filename; entry = wb_project_entry_new(); if (entry == NULL) { continue; } entry->abs_filename = g_key_file_get_string(kf, group, "AbsFilename", error); entry->rel_filename = g_key_file_get_string(kf, group, "RelFilename", error); entry->use_abs = g_key_file_get_boolean(kf, group, "UseAbsFilename", error); if (entry->use_abs == TRUE) { prj_filename = entry->abs_filename; } else { prj_filename = get_combined_path (wb->filename, entry->rel_filename); } if (prj_filename != NULL) { GStatBuf buf; entry->project = wb_project_new(prj_filename); if (g_stat (prj_filename, &buf) == 0) { entry->status = PROJECT_ENTRY_STATUS_OK; /* ToDo: collect and handle project load errors */ wb_project_load(entry->project, prj_filename, error); } else { entry->status = PROJECT_ENTRY_STATUS_NOT_FOUND; } g_ptr_array_add (wb->projects, entry); if (wb->rescan_projects_on_open == TRUE) { wb_project_rescan(entry->project); } } } else { break; } } g_key_file_free(kf); g_free (contents); success = TRUE; } else if (error != NULL) { g_set_error (error, 0, 0, "Internal error: param missing (file: %s, line %d)", __FILE__, __LINE__); } return success; } geany-plugins-1.32/workbench/src/menu.c0000644000175000017500000001575113171306761020406 0ustar00frlanfrlan00000000000000/* * Copyright 2017 LarsGit223 * * 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. */ /* * Code for the "Workbench" menu. */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "wb_globals.h" #include "dialogs.h" #include "menu.h" #include "sidebar.h" extern GeanyPlugin *geany_plugin; typedef struct { GtkWidget *menu; GtkWidget *root_item; GtkWidget *item_new; GtkWidget *item_open; GtkWidget *item_save; GtkWidget *item_settings; GtkWidget *item_close; }WB_MENU_DATA; static WB_MENU_DATA menu_data; /** Set the context of the workbench menu. * * The context set controls which items in the menu will be active and * which will be deactive. * * @param context The context/situation in which the menu is/shall be * **/ void menu_set_context(MENU_CONTEXT context) { switch (context) { case MENU_CONTEXT_WB_CREATED: case MENU_CONTEXT_WB_OPENED: gtk_widget_set_sensitive(menu_data.item_new, FALSE); gtk_widget_set_sensitive(menu_data.item_open, FALSE); gtk_widget_set_sensitive(menu_data.item_save, TRUE); gtk_widget_set_sensitive(menu_data.item_settings, TRUE); gtk_widget_set_sensitive(menu_data.item_close, TRUE); break; case MENU_CONTEXT_WB_CLOSED: gtk_widget_set_sensitive(menu_data.item_new, TRUE); gtk_widget_set_sensitive(menu_data.item_open, TRUE); gtk_widget_set_sensitive(menu_data.item_save, FALSE); gtk_widget_set_sensitive(menu_data.item_settings, FALSE); gtk_widget_set_sensitive(menu_data.item_close, FALSE); break; } } /* The function handles the menu item "New workbench" */ static void item_new_workbench_activate_cb(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { gchar *filename; GError *error = NULL; filename = dialogs_create_new_workbench(); if (filename == NULL) { return; } wb_globals.opened_wb = workbench_new(); workbench_set_filename(wb_globals.opened_wb, filename); if (workbench_save(wb_globals.opened_wb, &error)) { menu_set_context(MENU_CONTEXT_WB_CREATED); sidebar_update(SIDEBAR_CONTEXT_WB_CREATED, NULL); } else { dialogs_show_msgbox(GTK_MESSAGE_INFO, _("Could not create new workbench file: %s"), error->message); workbench_free(wb_globals.opened_wb); wb_globals.opened_wb = NULL; } g_free(filename); } /* The function handles the menu item "Open workbench" */ static void item_open_workbench_activate_cb(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { gchar *filename; GError *error = NULL; filename = dialogs_open_workbench(); if (filename == NULL) { return; } wb_globals.opened_wb = workbench_new(); if (workbench_load(wb_globals.opened_wb, filename, &error)) { menu_set_context(MENU_CONTEXT_WB_OPENED); sidebar_update(SIDEBAR_CONTEXT_WB_OPENED, NULL); } else { dialogs_show_msgbox(GTK_MESSAGE_INFO, _("Could not open workbench file: %s"), error->message); workbench_free(wb_globals.opened_wb); wb_globals.opened_wb = NULL; } g_free(filename); } /* The function handles the menu item "Save workbench" */ static void item_save_workbench_activate_cb(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { GError *error = NULL; if (wb_globals.opened_wb != NULL) { if (!workbench_save(wb_globals.opened_wb, &error)) { dialogs_show_msgbox(GTK_MESSAGE_INFO, _("Could not save workbench file: %s"), error->message); } sidebar_update(SIDEBAR_CONTEXT_WB_SAVED, NULL); } } /* The function handles the menu item "Settings" */ static void item_workbench_settings_activate_cb(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { if (wb_globals.opened_wb != NULL) { if (dialogs_workbench_settings(wb_globals.opened_wb)) { sidebar_update(SIDEBAR_CONTEXT_WB_SETTINGS_CHANGED, NULL); } } } /* The function handles the menu item "Close workbench" */ static void item_close_workbench_activate_cb(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { workbench_free(wb_globals.opened_wb); wb_globals.opened_wb = NULL; menu_set_context(MENU_CONTEXT_WB_CLOSED); sidebar_update(SIDEBAR_CONTEXT_WB_CLOSED, NULL); } /** Setup the workbench menu. * **/ gboolean menu_init(void) { /* Create menu and root item/label */ menu_data.menu = gtk_menu_new(); menu_data.root_item = gtk_menu_item_new_with_label(_("Workbench")); gtk_widget_show(menu_data.root_item); /* Create new menu item "New Workbench" */ menu_data.item_new = gtk_menu_item_new_with_mnemonic(_("_New...")); gtk_widget_show(menu_data.item_new); gtk_menu_shell_append(GTK_MENU_SHELL (menu_data.menu), menu_data.item_new); g_signal_connect(menu_data.item_new, "activate", G_CALLBACK(item_new_workbench_activate_cb), NULL); /* Create new menu item "Open Workbench" */ menu_data.item_open = gtk_menu_item_new_with_mnemonic(_("_Open...")); gtk_widget_show(menu_data.item_open); gtk_menu_shell_append(GTK_MENU_SHELL (menu_data.menu), menu_data.item_open); g_signal_connect(menu_data.item_open, "activate", G_CALLBACK(item_open_workbench_activate_cb), NULL); /* Create new menu item "Save Workbench" */ menu_data.item_save = gtk_menu_item_new_with_mnemonic(_("_Save")); gtk_widget_show(menu_data.item_save); gtk_menu_shell_append(GTK_MENU_SHELL (menu_data.menu), menu_data.item_save); g_signal_connect(menu_data.item_save, "activate", G_CALLBACK(item_save_workbench_activate_cb), NULL); /* Create new menu item "Workbench Settings" */ menu_data.item_settings = gtk_menu_item_new_with_mnemonic(_("S_ettings")); gtk_widget_show(menu_data.item_settings); gtk_menu_shell_append(GTK_MENU_SHELL (menu_data.menu), menu_data.item_settings); g_signal_connect(menu_data.item_settings, "activate", G_CALLBACK(item_workbench_settings_activate_cb), NULL); /* Create new menu item "Close Workbench" */ menu_data.item_close = gtk_menu_item_new_with_mnemonic(_("_Close")); gtk_widget_show(menu_data.item_close); gtk_menu_shell_append(GTK_MENU_SHELL (menu_data.menu), menu_data.item_close); g_signal_connect(menu_data.item_close, "activate", G_CALLBACK(item_close_workbench_activate_cb), NULL); /* Add our menu to the main window (left of the help menu) */ gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_data.root_item), menu_data.menu); gtk_container_add(GTK_CONTAINER(wb_globals.geany_plugin->geany_data->main_widgets->tools_menu), menu_data.root_item); return TRUE; } /** Cleanup menu data/mem. * **/ void menu_cleanup (void) { gtk_widget_destroy(menu_data.root_item); } geany-plugins-1.32/workbench/README0000644000175000017500000001351113171306761017357 0ustar00frlanfrlan00000000000000========= Workbench ========= .. contents:: About ===== The Workbench plugin is an extension that makes it possible to manage multiple projects in geany. You can add geany projects to a workbench. From there you can add directories to the project to manage the files belonging to the project. Usage ===== Enabling the plugin ------------------- The plugin can be enabled in the plugin manager. After enabling the plugin a new tab will be displayed in the Sidebar. There will also be a new entry in the "Tools" menu. Both are labeled "Workbench". The Workbench menu ------------------ The Workbench menu is the starting point for creating your first workbench. Choose "New" from the menu to create your workbench file. Workbench files use the prefix ".geanywb". Just like Geany project files they are also simple text files containing key-value pairs. The complete managment of the Workbench file is done using the Workbench menu: **Item "New"** As explained above, creates a new Workbench. **Item "Open"** Open a Workbench. **Item "Save"** Save the opened Workbench. This "only" saves any changes in the Workbench file. It does not save any changes of the projects belonging to the Workbench. **Item "Settings"** Open the Workbench settings dialog. **Item "Close"** Closes the opened Workbench. The new Workbench ----------------- A newly created Workbench is completely empty. In the Workbench tab of the sidebar you should see the hint "Add a project using the context menu". Anything which is dealing with projects and their Workbench related settings is done using the context menu on the sidebar. Some items in the context menu will only be active if you right click inside a project, directory or bookmark. The Workbench context menu: --------------------------- These are the available items: **Add project** Add an existing Geany project to the Workbench. Create your projects with Geany. The Workbench plugin does not help you with that. After adding a project you need to save the workbench settings by selecting "Workbench / Save" in the menubar. **Save project** Selecting this item will save the Workbench related project settings in the Geany project file. It is only available if you right clicked inside of a project. It will only save the settings of the project that you clicked on. **Remove project** Remove the project from the Workbench. It is only available if you right clicked inside of a project. After removing a project you need to save the workbench settings by selecting "Workbench / Save" in the menubar. **Fold/unfold project** Fold or unfold the items belonging to the project. It is only available if you right clicked inside of a project. **Add directory** Add a directory to the project. It is only available if you right clicked inside of a project. After selecting it a dialog will be opened. Chosse the directory which shall be added. After that the directory will be shown inside the project folder. After adding a new directory, all files and folders beneath the directory will be displayed. See "Directory settings" for more information. **Remove directory** Remove the directory from the project. It is only available if you right clicked inside of a project directory. **Rescan directory** Rescan the directory for files and update the sidebar accordingly. It is only available if you right clicked inside of a project directory. If the content of a directory changes, e.g. a new file is added, then the new file will only be visible in the sidebar after a rescan. **Directory settings** Select this item to change the directory settings. It is only available if you right clicked inside of a project directory. In the directory settings you can set a filter which controls the files and folders that shall be displayed or not. **Fold/unfold directory** Fold or unfold the items belonging to the directory. It is only available if you right clicked inside of a directory. **Unfold All** Select this item to unfold all projects, directories and folders. **Collapse All** Select this item to collpase/fold all projects, directories and folders. **Add to Workbench Bookmarks** Add the file to the Workbench Bookmarks. It is only available if you right clicked on a file. After adding a file to the Workbench bookmarks a ribbon will be shown for the file in the Workbench sidebar tab in front of the first project. Clicking on it will open the file. Workbench bookmarks give you quick access to files which you often need. **Add to Project Bookmarks** Add the file to the Project Bookmarks. It is only available if you right clicked on a file. After adding a file to the Project bookmarks a ribbon will be shown for the file in the Workbench sidebar tab in front of the first directory of the project. Clicking on it will open the file. Project bookmarks give you quick access to files which you often need in that project. **Remove from Bookmarks** Remove file from the Workbench or project bookmarks. It is only available if you right clicked on a bookmark. Known issues ============ None. License ======= The Workbench plugin 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. Downloads ========= The Workbench plugin is part of the combined Geany Plugins release. For more information and downloads, please visit http://plugins.geany.org/geany-plugins/ Development Code ================ Get the code from:: git clone https://github.com/geany/geany-plugins.git Ideas, questions, patches and bug reports ========================================= Please post any ideas, feature requests, questions and bugs in the github issue tracker. geany-plugins-1.32/webhelper/0000755000175000017500000000000013204275164016470 5ustar00frlanfrlan00000000000000geany-plugins-1.32/webhelper/Makefile.in0000644000175000017500000006471613204251776020556 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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.32/webhelper/Makefile.am0000644000175000017500000000014013132733713020516 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk AUXFILES = TODO SUBDIRS = src plugin = webhelper geany-plugins-1.32/webhelper/AUTHORS0000644000175000017500000000006013132733713017533 0ustar00frlanfrlan00000000000000Colomban Wendling geany-plugins-1.32/webhelper/TODO0000644000175000017500000000105413132733713017157 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.32/webhelper/NEWS0000644000175000017500000000004713132733713017167 0ustar00frlanfrlan00000000000000Web Helper 0.1 * Initial release. geany-plugins-1.32/webhelper/COPYING0000644000175000017500000010451313132733713017526 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.32/webhelper/ChangeLog0000644000175000017500000000000013132733713020227 0ustar00frlanfrlan00000000000000geany-plugins-1.32/webhelper/src/0000755000175000017500000000000013204275164017257 5ustar00frlanfrlan00000000000000geany-plugins-1.32/webhelper/src/gwh-utils.h0000644000175000017500000000336713132733713021363 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.32/webhelper/src/gwh-browser.c0000644000175000017500000014121013132733713021667 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.32/webhelper/src/Makefile.in0000644000175000017500000011063113204251776021331 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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.32/webhelper/src/gwh-enum-types.h.tpl0000644000175000017500000000120413132733713023113 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.32/webhelper/src/gwh-keybindings.h0000644000175000017500000000275113132733713022525 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.32/webhelper/src/Makefile.am0000644000175000017500000000315013132733713021311 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.32/webhelper/src/gwh-enum-types.c0000644000175000017500000000332713132733713022320 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.32/webhelper/src/gwh-plugin.h0000644000175000017500000000211313132733713021505 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.32/webhelper/src/gwh-settings.c0000644000175000017500000007053113132733713022053 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.32/webhelper/src/gwh-utils.c0000644000175000017500000001012113132733713021340 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.32/webhelper/src/gwh-enum-types.c.tpl0000644000175000017500000000140013132733713023104 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.32/webhelper/src/gwh-keybindings.c0000644000175000017500000000476413132733713022526 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.32/webhelper/src/gwh-settings.h0000644000175000017500000001117013132733713022052 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.32/webhelper/src/gwh-plugin.c0000644000175000017500000004427113132733713021513 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.32/webhelper/src/gwh-browser.h0000644000175000017500000000700413132733713021676 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.32/webhelper/src/gwh-enum-types.h0000644000175000017500000000155313132733713022324 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.32/webhelper/README0000644000175000017500000000453013132733713017351 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.32/aclocal.m40000644000175000017500000013206713204251770016361 0ustar00frlanfrlan00000000000000# generated automatically by aclocal 1.15.1 -*- Autoconf -*- # Copyright (C) 1996-2017 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-2017 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.1], [], [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.1])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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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-2017 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/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/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/keyrecord.m4]) m4_include([build/ldflags.m4]) m4_include([build/lineoperations.m4]) m4_include([build/lipsum.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/sendmail.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/utils.m4]) m4_include([build/vala.m4]) m4_include([build/webhelper.m4]) m4_include([build/workbench.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.32/Makefile.in0000644000175000017500000010407513204251772016566 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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_UTILSLIB_TRUE@am__append_1 = utils @ENABLE_ADDONS_TRUE@am__append_2 = addons @ENABLE_AUTOCLOSE_TRUE@am__append_3 = autoclose @ENABLE_AUTOMARK_TRUE@am__append_4 = automark @ENABLE_CODENAV_TRUE@am__append_5 = codenav @ENABLE_COMMANDER_TRUE@am__append_6 = commander @ENABLE_DEBUGGER_TRUE@am__append_7 = debugger @ENABLE_DEFINEFORMAT_TRUE@am__append_8 = defineformat @ENABLE_DEVHELP_TRUE@am__append_9 = devhelp @ENABLE_GEANYCTAGS_TRUE@am__append_10 = geanyctags @ENABLE_GEANYDOC_TRUE@am__append_11 = geanydoc @ENABLE_GEANYEXTRASEL_TRUE@am__append_12 = geanyextrasel @ENABLE_GEANYGENDOC_TRUE@am__append_13 = geanygendoc @ENABLE_GEANYINSERTNUM_TRUE@am__append_14 = geanyinsertnum @ENABLE_GEANYLATEX_TRUE@am__append_15 = geanylatex @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_GEANYVC_TRUE@am__append_23 = geanyvc @ENABLE_GENIUSPASTE_TRUE@am__append_24 = geniuspaste @ENABLE_GITCHANGEBAR_TRUE@am__append_25 = git-changebar @ENABLE_KEYRECORD_TRUE@am__append_26 = keyrecord @ENABLE_LINEOPERATIONS_TRUE@am__append_27 = lineoperations @ENABLE_LIPSUM_TRUE@am__append_28 = lipsum @ENABLE_MARKDOWN_TRUE@am__append_29 = markdown @ENABLE_MULTITERM_TRUE@am__append_30 = multiterm @ENABLE_OVERVIEW_TRUE@am__append_31 = overview @ENABLE_PAIRTAGHIGHLIGHTER_TRUE@am__append_32 = pairtaghighlighter @ENABLE_POHELPER_TRUE@am__append_33 = pohelper @ENABLE_PRETTY_PRINTER_TRUE@am__append_34 = pretty-printer @ENABLE_PROJECTORGANIZER_TRUE@am__append_35 = projectorganizer @ENABLE_SCOPE_TRUE@am__append_36 = scope @ENABLE_SENDMAIL_TRUE@am__append_37 = sendmail @ENABLE_SHIFTCOLUMN_TRUE@am__append_38 = shiftcolumn @ENABLE_SPELLCHECK_TRUE@am__append_39 = spellcheck @ENABLE_TABLECONVERT_TRUE@am__append_40 = tableconvert @ENABLE_TREEBROWSER_TRUE@am__append_41 = treebrowser @ENABLE_UPDATECHECKER_TRUE@am__append_42 = updatechecker @ENABLE_WEBHELPER_TRUE@am__append_43 = webhelper @ENABLE_WORKBENCH_TRUE@am__append_44 = workbench @ENABLE_XMLSNIPPETS_TRUE@am__append_45 = 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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 utils addons autoclose automark codenav commander \ debugger defineformat devhelp geanyctags geanydoc \ geanyextrasel geanygendoc geanyinsertnum geanylatex geanylua \ geanymacro geanyminiscript geanynumberedbookmarks geanypg \ geanyprj geanypy geanyvc geniuspaste git-changebar keyrecord \ lineoperations lipsum markdown multiterm overview \ pairtaghighlighter pohelper pretty-printer projectorganizer \ scope sendmail shiftcolumn spellcheck tableconvert treebrowser \ updatechecker webhelper workbench 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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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) \ $(am__append_43) $(am__append_44) $(am__append_45) 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) | eval GZIP= gzip $(GZIP_ENV) -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) | eval GZIP= gzip $(GZIP_ENV) -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*) \ eval GZIP= gzip $(GZIP_ENV) -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*) \ eval GZIP= gzip $(GZIP_ENV) -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.32/devhelp/0000755000175000017500000000000013204275161016137 5ustar00frlanfrlan00000000000000geany-plugins-1.32/devhelp/Makefile.in0000644000175000017500000006470613204251772020223 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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.32/devhelp/devhelp/0000755000175000017500000000000013204275161017566 5ustar00frlanfrlan00000000000000geany-plugins-1.32/devhelp/devhelp/dh-window.h0000644000175000017500000000507413132733713021647 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.32/devhelp/devhelp/dh-window.c0000644000175000017500000020661013132733713021641 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.32/devhelp/devhelp/Makefile.in0000644000175000017500000014163113204251772021643 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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.32/devhelp/devhelp/dh-error.h0000644000175000017500000000236113132733713021465 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.32/devhelp/devhelp/dh-assistant.c0000644000175000017500000000774213132733713022350 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.32/devhelp/devhelp/dh-keyword-model.c0000644000175000017500000004225413132733713023116 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.32/devhelp/devhelp/eggfindbar.c0000644000175000017500000005262013132733713022031 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.32/devhelp/devhelp/dh-search.c0000644000175000017500000005677013132733713021611 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.32/devhelp/devhelp/dh-keyword-model.h0000644000175000017500000000512213132733713023114 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.32/devhelp/devhelp/dh-parser.h0000644000175000017500000000232713132733713021632 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.32/devhelp/devhelp/dh-book-manager.h0000644000175000017500000000460513132733713022701 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.32/devhelp/devhelp/dh-enum-types.h0000644000175000017500000000135513167755237022461 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.32/devhelp/devhelp/dh-assistant-view.c0000644000175000017500000003474013132733713023316 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.32/devhelp/devhelp/ige-conf-private.h0000644000175000017500000000335113132733713023102 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.32/devhelp/devhelp/ige-conf-gconf.c0000644000175000017500000002324213132733713022520 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.32/devhelp/devhelp/dh-util.c0000644000175000017500000005532513132733713021314 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.32/devhelp/devhelp/Makefile.am0000644000175000017500000000346113132733713021630 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.32/devhelp/devhelp/dh-error.c0000644000175000017500000000214613132733713021461 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.32/devhelp/devhelp/eggfindbar.h0000644000175000017500000000616413132733713022040 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.32/devhelp/devhelp/ige-conf.h0000644000175000017500000000754113132733713021437 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.32/devhelp/devhelp/dh-enum-types.c.template0000644000175000017500000000164013132733713024246 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.32/devhelp/devhelp/ige-conf.c0000644000175000017500000002306413132733713021430 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.32/devhelp/devhelp/dh-book-tree.h0000644000175000017500000000410213132733713022216 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.32/devhelp/devhelp/dh-assistant-view.h0000644000175000017500000000461613132733713023322 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.32/devhelp/devhelp/dh-book-tree.c0000644000175000017500000002436713132733713022230 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.32/devhelp/devhelp/dh-search.h0000644000175000017500000000416613132733713021606 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.32/devhelp/devhelp/dh-book.c0000644000175000017500000001416513132733713021266 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.32/devhelp/devhelp/dh-util.h0000644000175000017500000000644413132733713021317 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.32/devhelp/devhelp/dh-parser.c0000644000175000017500000005062413132733713021630 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.32/devhelp/devhelp/dh-book-manager.c0000644000175000017500000003005313132733713022670 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.32/devhelp/devhelp/dh-link.c0000644000175000017500000001544413132733713021272 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.32/devhelp/devhelp/dh-base.h0000644000175000017500000000451713132733713021253 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.32/devhelp/devhelp/dh-book.h0000644000175000017500000000475113132733713021273 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.32/devhelp/devhelp/dh-enum-types.c0000644000175000017500000000520413167755237022451 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.32/devhelp/devhelp/dh-marshal.h0000644000175000017500000000333613132733713021766 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.32/devhelp/devhelp/dh-preferences.c0000644000175000017500000003466513132733713022644 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.32/devhelp/devhelp/dh-base.c0000644000175000017500000002006113132733713021236 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.32/devhelp/devhelp/dh-assistant.h0000644000175000017500000000371013132733713022344 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.32/devhelp/devhelp/dh-preferences.h0000644000175000017500000000206413132733713022635 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.32/devhelp/devhelp/dh-marshal.list0000644000175000017500000000012113132733713022477 0ustar00frlanfrlan00000000000000VOID:BOOLEAN VOID:POINTER VOID:STRING VOID:VOID BOOLEAN:STRING VOID:STRING,FLAGS geany-plugins-1.32/devhelp/devhelp/dh-marshal.c0000644000175000017500000001341213132733713021755 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.32/devhelp/devhelp/dh-link.h0000644000175000017500000000534413132733713021275 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.32/devhelp/devhelp/dh-enum-types.h.template0000644000175000017500000000102213132733713024245 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.32/devhelp/Makefile.am0000644000175000017500000000013213132733713020171 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk SUBDIRS = devhelp src data plugin = devhelp geany-plugins-1.32/devhelp/AUTHORS0000644000175000017500000000004513132733713017210 0ustar00frlanfrlan00000000000000Matthew Brush geany-plugins-1.32/devhelp/data/0000755000175000017500000000000013204275161017050 5ustar00frlanfrlan00000000000000geany-plugins-1.32/devhelp/data/Makefile.in0000644000175000017500000005012213204251772021117 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \ $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/workbench.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@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ 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.32/devhelp/data/home.html0000644000175000017500000000072313132733713020672 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.32/devhelp/data/Makefile.am0000644000175000017500000000027313132733713021110 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.32/devhelp/data/devhelp.conf0000644000175000017500000000360513132733713021354 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.32/devhelp/INSTALL0000644000175000017500000003633213132733713017201 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.32/devhelp/NEWS0000644000175000017500000000076413132733713016647 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.32/devhelp/COPYING0000644000175000017500000010451313132733713017200 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.32/devhelp/ChangeLog0000644000175000017500000000000013132733713017701 0ustar00frlanfrlan00000000000000geany-plugins-1.32/devhelp/src/0000755000175000017500000000000013204275161016726 5ustar00frlanfrlan00000000000000geany-plugins-1.32/devhelp/src/dhp-plugin.h0000644000175000017500000000230213132733713021145 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.32/devhelp/src/dhp-manpages.c0000644000175000017500000001252713132733713021447 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.32/devhelp/src/Makefile.in0000644000175000017500000007712213204251772021006 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/devhelp/src/Makefile.am0000644000175000017500000000114313132733713020763 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.32/devhelp/src/dhp-settings.c0000644000175000017500000002301413132733713021505 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.32/devhelp/src/dhp-plugin.c0000644000175000017500000001274513132733713021154 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.32/devhelp/src/dhp.h0000644000175000017500000001301513132733713017654 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.32/devhelp/src/dhp-object.c0000644000175000017500000012110713132733713021115 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.32/devhelp/README0000644000175000017500000001005713132733713017024 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.32/geanydoc/0000755000175000017500000000000013204275161016301 5ustar00frlanfrlan00000000000000geany-plugins-1.32/geanydoc/tests/0000755000175000017500000000000013204275161017443 5ustar00frlanfrlan00000000000000geany-plugins-1.32/geanydoc/tests/Makefile.in0000644000175000017500000012102513204251773021514 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/geanydoc/tests/Makefile.am0000644000175000017500000000040313132733713021476 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.32/geanydoc/tests/unittests.c0000644000175000017500000000061613132733713021656 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.32/geanydoc/Makefile.in0000644000175000017500000006470213204251773020362 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/geanydoc/Makefile.am0000644000175000017500000000012413132733713020334 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk
      
      SUBDIRS = src tests
      plugin = geanydoc
      geany-plugins-1.32/geanydoc/THANKS0000644000175000017500000000000013132733713017204 0ustar00frlanfrlan00000000000000geany-plugins-1.32/geanydoc/AUTHORS0000644000175000017500000000004313132733713017350 0ustar00frlanfrlan00000000000000Yura Siamashka 
      geany-plugins-1.32/geanydoc/NEWS0000644000175000017500000000001513132733713016776 0ustar00frlanfrlan00000000000000See "README"
      geany-plugins-1.32/geanydoc/COPYING0000644000175000017500000010451313132733713017342 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.32/geanydoc/ChangeLog0000644000175000017500000000000013132733713020043 0ustar00frlanfrlan00000000000000geany-plugins-1.32/geanydoc/src/0000755000175000017500000000000013204275161017070 5ustar00frlanfrlan00000000000000geany-plugins-1.32/geanydoc/src/geanydoc.c0000644000175000017500000003400213204251613021020 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. */
      GeanyPlugin *geany_plugin;
      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. \nThis plugin currently has no maintainer. Would you like to help by contributing to this plugin?"), VERSION,
      	"Yura Siamshka ")
      
      /* Keybinding(s) */
      enum
      {
      	KB_DOCUMENT_WORD,
      	KB_DOCUMENT_WORD_ASK,
      	KB_COUNT
      };
      
      GtkWidget *create_Interactive(const gchar * default_word);
      
      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)
      {
      	GeanyDocument *doc;
      
      	gint pos;
      	gint cstart, cend;
      	gchar c;
      
      	doc = document_get_current();
      	g_return_val_if_fail(doc != NULL && doc->file_name != NULL, NULL);
      
      	if (sci_has_selection(doc->editor->sci))
      		return sci_get_selection_contents(doc->editor->sci);
      
      	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;
      
      	return sci_get_contents_range(doc->editor->sci, cstart, cend);
      }
      
      /* 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, *default_word = current_word();
      	GtkWidget *dialog, *entry;
      
      	/* example configuration dialog */
      	dialog = create_Interactive(default_word);
      	g_free(default_word);
      
      	/* 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_text_get_active_text(GTK_COMBO_BOX_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, \
          g_object_ref (widget), (GDestroyNotify) g_object_unref)
      
      #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
        g_object_set_data (G_OBJECT (component), name, widget)
      
      GtkWidget *
      create_Interactive(const gchar * default_word)
      {
      	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);
      	gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
      	dialog_vbox1 = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
      
      	entry_word = gtk_entry_new();
      	if (default_word)
      		gtk_entry_set_text(GTK_ENTRY(entry_word), default_word);
      	gtk_entry_set_activates_default(GTK_ENTRY(entry_word), TRUE);
      	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_get_content_area(GTK_DIALOG(Configure));
      	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_text_new();
      	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_get_action_area(GTK_DIALOG(Configure));
      	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_can_default(cancelbutton1, TRUE);
      
      	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_can_default(okbutton1, TRUE);
      
      	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)
      {
      	GeanyKeyGroup *key_group;
      	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();
      
      	key_group = plugin_set_key_group(geany_plugin, "doc_chars", KB_COUNT, NULL);
      	keybindings_set_item(key_group, KB_DOCUMENT_WORD, kb_doc,
      				0, 0, kb_label1, kb_label1, keyb1);
      	keybindings_set_item(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_text_append_text(GTK_COMBO_BOX_TEXT(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.32/geanydoc/src/Makefile.in0000644000175000017500000007327013204251773021151 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/geanydoc/src/geanydoc.h0000644000175000017500000000240613132733713021036 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.32/geanydoc/src/config.c0000644000175000017500000000627313132733713020513 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.32/geanydoc/src/Makefile.am0000644000175000017500000000046213132733713021130 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.32/geanydoc/README0000644000175000017500000000471013132733713017165 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.32/Makefile.am0000644000175000017500000000456613173055174016564 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_UTILSLIB
      SUBDIRS += utils
      endif
      
      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_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_GEANYVC
      SUBDIRS += geanyvc
      endif
      
      if ENABLE_GENIUSPASTE
      SUBDIRS += geniuspaste
      endif
      
      if ENABLE_GITCHANGEBAR
      SUBDIRS += git-changebar
      endif
      
      if ENABLE_KEYRECORD
      SUBDIRS += keyrecord
      endif
      
      if ENABLE_LINEOPERATIONS
      SUBDIRS += lineoperations
      endif
      
      if ENABLE_LIPSUM
      SUBDIRS += lipsum
      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_SENDMAIL
      SUBDIRS += sendmail
      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_WORKBENCH
      SUBDIRS += workbench
      endif
      
      if ENABLE_XMLSNIPPETS
      SUBDIRS += xmlsnippets
      endif
      geany-plugins-1.32/treebrowser/0000755000175000017500000000000013204275164017056 5ustar00frlanfrlan00000000000000geany-plugins-1.32/treebrowser/Makefile.in0000644000175000017500000006470113204251775021135 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/treebrowser/Makefile.am0000644000175000017500000000012113132733713021103 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk
      
      SUBDIRS = src
      plugin = treebrowser
      geany-plugins-1.32/treebrowser/AUTHORS0000644000175000017500000000013613132733713020125 0ustar00frlanfrlan00000000000000Adrian Dimitrov 
      
      And THANKS to all in #geany for support and help
      geany-plugins-1.32/treebrowser/NEWS0000644000175000017500000000033613132733713017556 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.32/treebrowser/COPYING0000644000175000017500000000000013132733713020076 0ustar00frlanfrlan00000000000000geany-plugins-1.32/treebrowser/ChangeLog0000644000175000017500000003363313132733713020637 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.32/treebrowser/src/0000755000175000017500000000000013204275164017645 5ustar00frlanfrlan00000000000000geany-plugins-1.32/treebrowser/src/Makefile.in0000644000175000017500000007217013204251775021723 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/treebrowser/src/Makefile.am0000644000175000017500000000076413132733713021707 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.32/treebrowser/src/treebrowser.c0000644000175000017500000020334213176411246022361 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_TRACK_CURRENT,
      	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."),
      	"1.32" ,
      	"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_open_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_open_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();
      
      	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);
      	else
      		gtk_tree_store_clear(treestore);
      
      	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, _("Refres_h"));
      	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, _("N_ew Folder"));
      	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, _("_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, _("Rena_me"));
      	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(_("Clo_se 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, _("E_xpand 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, _("Coll_apse 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 Boo_kmarks"));
      	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(_("Sho_w 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 Tool_bars"));
      	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;
      	GdkModifierType	modifiers = gtk_accelerator_get_default_mod_mask();
      
      	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) ||
      	    (event->keyval == GDK_F10 && (event->state & modifiers) == GDK_SHIFT_MASK))
      	{
      		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_list_free(renderers);
      
      	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_files",		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_open_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;
      
      		case KB_TRACK_CURRENT:
      			treebrowser_track_current();
      			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", _("New File"), NULL);
      	keybindings_set_item(key_group, KB_CREATE_DIR, kb_activate,
      		0, 0, "create_dir", _("New Folder"), NULL);
      	keybindings_set_item(key_group, KB_REFRESH, kb_activate,
      		0, 0, "rename_refresh", _("Refresh"), NULL);
      	keybindings_set_item(key_group, KB_TRACK_CURRENT, kb_activate,
      		0, 0, "track_current", _("Track Current"), 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.32/treebrowser/README0000644000175000017500000000332413171306761017741 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 remembered
      	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 Tarball: 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 distributed under the same license as in 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.32/po/0000755000175000017500000000000013204275160015125 5ustar00frlanfrlan00000000000000geany-plugins-1.32/po/kk.po0000644000175000017500000052521413204251613016100 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+0100\n"
      "PO-Revision-Date: 2016-10-31 09:17+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.10\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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Бетбелгілер"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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 ""
      
      #: ../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 ""
      
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "Кеңейтулер"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr ""
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr ""
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr "Плагиннің баптаулар бумасын жасау мүмкін емес."
      
      #: ../addons/src/addons.c:494
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      
      #: ../addons/src/addons.c:498
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:505
      msgid "Sort the documents in the order of the document tabs"
      msgstr ""
      
      #: ../addons/src/addons.c:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr ""
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr ""
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr ""
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr "Жақшалар ( )"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr "Пішінді жақша { }"
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr "Тік жақша [ ]"
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr "Тырнақша \" \""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr "Бірлік тырнақша ' '"
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      msgid "Move cursor to beginning"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      msgid "Improved auto-indentation"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      msgid "Enclose selections"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr ""
      
      #: ../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 ""
      
      #. 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:42
      msgid "Commander"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      msgid "Show Command Panel"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:776
      msgid "Show Command Panel (Commands Only)"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:780
      msgid "Show Command Panel (Files Only)"
      msgstr ""
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr ""
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "Жөндеу"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Аты"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Мәні"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Мақсаты:"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr "Қарап шығу"
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr "Жөндеуші:"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr ""
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr ""
      
      #. 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 ""
      
      #: ../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:526
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      msgid "Target"
      msgstr "Мақсат"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr ""
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr ""
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr ""
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr ""
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "Тоқтату"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr "Қайта қосу"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr ""
      
      #: ../debugger/src/keys.c:56
      msgid "Jump to the current instruction"
      msgstr ""
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Жөнелту"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Баптаулар"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr "Жалғастыру"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s (бумада: %s)"
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:529
      msgid "_Search for:"
      msgstr "_Нені іздеу:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      msgid "pattern"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "Р_егистрге тәуелді"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      msgid "_Declaration"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      msgid "Generate tags"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:654
      msgid "Find tag..."
      msgstr "Тегті табу..."
      
      #: ../geanyctags/src/geanyctags.c:659
      msgid "Find tag"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      msgid "Convert selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr ""
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr ""
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Жалпы"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "Дайындау..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Ортасына қарай"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Көбірек"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Үлгі:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr "Үнсіз келісім бойынша"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Мақала"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Презентация"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Кодталуы:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr ""
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr "Авторы:"
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr "Күні:"
      
      #: ../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 ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr "Атауы:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Арнайы таңбаларды алмастыру"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../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/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 ""
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Insert _Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "Пі_шім"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      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 ""
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      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:381
      msgid "_Lua Scripts"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Файлды таңдаңыз"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Шолу..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Түсті таңдаңыз"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Таңдау..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Қаріпті таңдау"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Таңдау..."
      
      #: ../geanylua/glspi_sci.c:412
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:588
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:599
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:170
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:176
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr "Еле_меу"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Шифрлеу"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "Қолтаңба"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Жаңа жоба"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "Жо_ба"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Жобаны өшіру"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Файлды қосу"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Баптаулар"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Бү_йір панелін жасыру"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr "Жоба"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "\"%s\" жобасы ашылды."
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:415
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Күйі"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Жолы"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1901
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2070
      msgid "Make a diff from the current active file"
      msgstr ""
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "Қай_тару"
      
      #: ../geanyvc/src/geanyvc.c:2078
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2087
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2100
      msgid "Shows the log of the current file"
      msgstr ""
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2105
      msgid "_Original"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr ""
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr ""
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr ""
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr ""
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      msgid "Failed to paste the code"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      msgid "Go to the previous hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      msgid "Go to the next hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      msgid "Remove _Unique Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:260
      msgid "Keep _Unique Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:263
      msgid "Remove _Empty Lines"
      msgstr "_Бос жолдарды өшіру"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      msgid "_Line Operations"
      msgstr "Жо_л әрекеттері"
      
      #: ../lineoperations/src/lineoperations.c:320
      msgid "Line Operations"
      msgstr "Жол әрекеттері"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      msgid "Lipsum"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      msgid "_Lipsum..."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      msgid "Save HTML File As"
      msgstr ""
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "Файлды қосу"
      
      #: ../markdown/src/plugin.c:322
      #, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:47
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      msgid "Move to message window"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      msgid "Move to sidebar"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:81
      msgid "Open Tab"
      msgstr "Бетті ашу"
      
      #: ../multiterm/src/context-menu.vala:96
      msgid "Open Window"
      msgstr "Терезені ашу"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr "Келесі бет"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      msgid "Previous tab"
      msgstr "Алдыңғы бет"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      msgid "Show Tabs"
      msgstr "Беттерді көрсету"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      msgid "Unable to locate default shell in configuration file"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:202
      msgid "New terminal"
      msgstr "Жаңа терминал"
      
      #: ../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
      #, 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:1967
      msgid "Terminal"
      msgstr "Терминал"
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr ""
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      msgid "Unable to run command: %s"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching 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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      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:1554
      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:1560
      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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Аударылған: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr "Дәлсіз: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Аударылмаған: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "Шегіну"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "Space"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:40
      msgid "Project Organizer"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      msgid "Find in Project Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      msgid "Find Project File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      msgid "Find Project Symbol..."
      msgstr "Жоба таңбасын табу..."
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      msgid "Find project symbol"
      msgstr "Жоба таңбасын табу"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      msgid "Index all project files:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr "Иә"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      msgid "No"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      msgid "Find File"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      msgid "project or external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      msgid "Add External Directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      msgid "Add"
      msgstr "Қосу"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      msgid "Find Symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      msgid "Add external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      msgid "Find in Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      msgid "Find File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      msgid "Find Symbol..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr ""
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr ""
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr ""
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr ""
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr "GDB командасы"
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr "Терминалды көрсету"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr "Бос емес"
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr "Дайын"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr ""
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr "Консоль"
      
      #: ../scope/src/scope.c:525
      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:45
      #, 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 "_Жіберу"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr "_Бос емес"
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:45
      msgid "SendMail"
      msgstr "SendMail"
      
      #: ../sendmail/src/sendmail.c:46
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "Пошта"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr ""
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:322
      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 ""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:334
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr ""
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:299
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Ағымдағы құжаттың емлесін тексереді."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Буманы таңдау"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:293
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:329
      msgid "Check spelling when opening a document"
      msgstr ""
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:385
      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:41
      msgid "Shift Column"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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: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 ""
      
      #. 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 ""
      
      #: ../tableconvert/src/tableconvert.c:328
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(Бос)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Бапталған '%s' сыртқы командасын орындау мүмкін емес (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewDirectory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1209
      #, fuzzy
      msgid "Go _Up"
      msgstr "Ж_оғары апару"
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "Орналасу жолын құжаттан орнату"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "Терминал"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "Терминал"
      
      #: ../treebrowser/src/treebrowser.c:1226
      msgid "Set as _Root"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "Жаңарту"
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Буманы таңдау"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "_Файл"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "Атын өзгерту"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Жабу: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "Б_асқа құжаттарды жабу"
      
      #: ../treebrowser/src/treebrowser.c:1274
      msgid "_Copy Full Path to Clipboard"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Жазық қылу"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Бар_лығын жабу"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "Бетбелгілер"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Жасырын файлдарды көрсету"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "Беттерді көрсету"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Жаңарту"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Үй"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Орналасу жолын құжаттан орнату"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr "Саймандар панелі"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Жасырын"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Жоғарыдан"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "Төменнен"
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Show icons"
      msgstr "Таңбашаларды көрсету"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Ешнәрсе"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Жасырын файлдарды көрсету"
      
      #: ../treebrowser/src/treebrowser.c:2006
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2008
      msgid "Hide object files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2013
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2015
      msgid "Reverse filter"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Файлдар тізіміне фокусты орнату"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "Жол өрісіне фокусты орнату"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "Жаңа файлды жасау"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Буманы таңдау"
      
      #: ../treebrowser/src/treebrowser.c:2149
      msgid "Track Current"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "List of bookmarks"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Браузер"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "Терезелер"
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Жаңа буманы жасау"
      
      #: ../workbench/src/dialogs.c:74
      msgid "Open workbench"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "URI ашу"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Жоба"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:119
      msgid "Project files (.geany)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Буманы таңдау"
      
      #: ../workbench/src/dialogs.c:218
      msgid "Directory settings"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      #, fuzzy
      msgid "_OK"
      msgstr "ОК"
      
      #: ../workbench/src/dialogs.c:232
      msgid "File patterns:"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:361
      msgid "Rescan all projects on open:"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, c-format
      msgid "Could not create new workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:139
      #, c-format
      msgid "Could not save workbench file: %s"
      msgstr ""
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "Баптаулар"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "Жабу: %s"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, c-format
      msgid "Could not add project file: %s"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Жо_ба"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Жаңа жоба"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Жобаны өшіру"
      
      #: ../workbench/src/popup_menu.c:536
      msgid "_Fold/unfold project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      msgid "_Add directory..."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Жаңа буманы жасау"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Жаңа буманы жасау"
      
      #: ../workbench/src/popup_menu.c:576
      msgid "_Directory settings"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:582
      msgid "_Fold/unfold directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "Жаңа буманы жасау"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "Жаңа буманы жасау"
      
      #: ../workbench/src/popup_menu.c:604
      msgid "_Open all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "Жазық қылу"
      
      #: ../workbench/src/popup_menu.c:626
      msgid "_Collapse all"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "Бетбелгіні ө_шіру"
      
      #: ../workbench/src/sidebar.c:291
      msgid "Base dir"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:324
      msgid "No directories"
      msgstr ""
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Жоба"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "%s (бумада: %s)"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "%s (бумада: %s)"
      
      #: ../workbench/src/wb_project.c:945
      msgid "File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, c-format
      msgid "Number of Files: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Жоба"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Жабу: %s"
      
      #: ../workbench/src/wb_project.c:1008
      #, c-format
      msgid "Number of Directories: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "Жаңа файлды жасау"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Жаңа буманы жасау"
      
      #~ msgid "Delete"
      #~ msgstr "Өшіру"
      geany-plugins-1.32/po/pt.po0000644000175000017500000100623513204251613016114 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 - 2017.
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.32\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-06 03:19+0000\n"
      "PO-Revision-Date: 2017-11-06 09:38+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%10==1 ? 0 : 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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Marcadores"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      msgid "_Update"
      msgstr "Act_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:201
      #: ../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 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 ""
      "%s será substituído na sua selecção actual. Por favor, tenha em atenção o "
      "que tem seleccionado"
      
      #: ../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:334
      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 actual 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:325
      msgid "Focus Bookmark List"
      msgstr "Focar a lista de favoritos"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Focar a lista de tarefas"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Actualizar lista de tarefas"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "Concluir etiquetas XML"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../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:494
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      "Activar o ícone na barra de ferramentas para mostrar a lista de documentos "
      "actualmente abertos"
      
      #: ../addons/src/addons.c:498
      msgid "Sort documents by _name"
      msgstr "Ordenar documentos por _nome"
      
      #: ../addons/src/addons.c:500
      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:503
      msgid "Sort documents by _occurrence"
      msgstr "Ordenar documentos por _ocorrência"
      
      #: ../addons/src/addons.c:505
      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:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Ordenar documentos por _ocorrência (invertida)"
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      "Ordena os documentos pela ordem dos separadores do documento (invertida)"
      
      #: ../addons/src/addons.c:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Mostrar item \"Abrir URI\" no menu do editor"
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Mostrar tarefas existentes na janela de mensagens"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Mostrar tarefas de todos os documentos"
      
      #: ../addons/src/addons.c:553
      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 actual."
      
      #: ../addons/src/addons.c:560
      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:562
      msgid "Search tokens:"
      msgstr "Símbolos a procurar:"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Mostrar ícone de estado na área de notificação"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Mostrar marcadores (linhas marcadas) na barra lateral"
      
      #: ../addons/src/addons.c:591
      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:597
      msgid "Deselect a previous highlight by single click"
      msgstr "Remover uma selecção anterior com um só clique"
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "Remover linhas vazias finais"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "Etiquetas XML para selecção"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr "Incluir selecção entre símbolos configuráveis"
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr "Configurar pares de inclusão"
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr "Incluir selecçã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 rectos [ ]"
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr "Fecho automático de parênteses rectos \"[\" -> \"[|]\""
      
      #: ../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 seleccionar algum texto e premir \"{\" ou \"}\", a extensão vai fechar "
      "automaticamente as linhas seleccionadas e criar um novo bloco indentado.\n"
      "Não precisa de seleccionar 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. Declaracçõ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 "Eliminar 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 eliminar 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 selecções"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      "Incluir automaticamente texto seleccionado premindo só uma tecla de "
      "parênteses."
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr "Manter selecção ao incluir"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr "Manter o texto previamente seleccionado 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 selecçõ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 selecçõ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 acçã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 acções, ficheiros e mais."
      
      #: ../commander/src/commander-plugin.c:772
      msgid "Show Command Panel"
      msgstr "Mostrar painel de comando"
      
      #: ../commander/src/commander-plugin.c:776
      msgid "Show Command Panel (Commands Only)"
      msgstr "Mostrar painel de comando (só comandos)"
      
      #: ../commander/src/commander-plugin.c:780
      msgid "Show Command Panel (Files Only)"
      msgstr "Mostrar painel de comando (só ficheiros)"
      
      #: ../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:228
      msgid "Debug"
      msgstr "Depuração"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Nome"
      
      #: ../debugger/src/vtree.c:193 ../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:526
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr "O programa recebeu o sinal %s (%s)"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "O programa saiu com o código \"%i\""
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr "Falha ao iniciar o processo gdb"
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"A carregar ficheiro destino.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr "Erro ao carregar ficheiro"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr "Erro ao configurar o GDB"
      
      #: ../debugger/src/dbm_gdb.c:835
      #, 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 activa"
      
      #: ../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:523
      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:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr "Avançar para dentro"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr "Avançar sobre"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr "Avançar para fora"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      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 actual"
      
      #: ../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 projecto"
      
      #: ../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 "Activar todos os separadores"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr "Procurar a etiqueta actual no Devhelp"
      
      #: ../devhelp/src/dhp-plugin.c:185
      msgid "Search for current tag in Manual Pages"
      msgstr "Procurar a etiqueta actual 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:2063
      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 projectos 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:518
      msgid "Find Tag"
      msgstr "Localizar etiqueta"
      
      #: ../geanyctags/src/geanyctags.c:529
      msgid "_Search for:"
      msgstr "_Procurar por:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr "Co_mparar tipo:"
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr "exacto"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr "prefixo"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      msgid "pattern"
      msgstr "padrão"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "Sensível a  m_aiúsculas"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      msgid "_Declaration"
      msgstr "_Declaração"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr "Localizar declaração da etiqueta (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr "Localizar definição da etiqueta (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      msgid "Generate tags"
      msgstr "Gerar etiquetas"
      
      #: ../geanyctags/src/geanyctags.c:654
      msgid "Find tag..."
      msgstr "Localizar etiqueta..."
      
      #: ../geanyctags/src/geanyctags.c:659
      msgid "Find tag"
      msgstr "Localizar etiqueta"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Chamar o visualizador de documentação no símbolo actual. \n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Impossível processar a saída do comando"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "Colocar saída em memória"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Comando 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Comando 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w será substituído pela palavra actual\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "Palavra actual do documento"
      
      #: ../geanydoc/src/geanydoc.c:435
      msgid "Document interactive"
      msgstr "Interactivo com o documento"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Selecção extra"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid ""
      "Column mode, select to line / brace / anchor.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Modo Coluna, seleccione para linha/parênteses/âncora.\n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "Selecçõ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 "Seleccionar até à _linha"
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr "Seleccionar até à linha"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "Seleccionar até à chaveta _correspondente"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "Seleccionar até à chaveta correspondente"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr "Al_ternar cadeia/rectângular"
      
      #: ../geanyextrasel/src/extrasel.c:531
      msgid "Convert selection"
      msgstr "Converter selecçã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 "Seleccion_ar até à âncora"
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr "Seleccionar até à âncora"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr "_Rectângulo Seleccionar até à âncora"
      
      #: ../geanyextrasel/src/extrasel.c:553
      msgid "Rectangle select to anchor"
      msgstr "Rectângulo Seleccionar 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:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr "Inserir comentário de documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr "_Documentar símbolo actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr "Gerar documentação para o símbolo actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr "Document_ar todos os símbolos"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr "Gerar documentação para todos os símbolos do documento activo"
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr "_Recarregar ficheiros de configuração"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Forçar o recarregamento dos ficheiros de configuração"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "_Editar a configuração da linguagem activa"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr "Abre o ficheiro de configuração da linguagem activa, para edição"
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr "Abrir _manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "Abrir o manual no navegador"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr "Gerador de _documentação"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Geral"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "_Gravar ficheiro antes de gerar documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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 activo deve ser gravado em disco antes de se gerar a "
      "documentação. Isto é um detalhe técnico, actualmente necessário para manter "
      "a lista de etiquetas actualizada. Caso desactive 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 actual."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:647
      msgid "_Indent inserted documentation"
      msgstr "_Indentar a documentação inserida"
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      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:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo de documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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 predefinido, usado em todas as linguagens para as quais um tipo "
      "não tenha sido definido."
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:672
      msgid "Global environment"
      msgstr "Ambiente global"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      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:202 ../geanygendoc/src/ggd-utils.c:213
      #, 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:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Inserir números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Inserir/Preencher colunas com números. \n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "A contar..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "A preparar..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "A inserir..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr "Para base 11 e acima"
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "_Iniciar:"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "_Passo:"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Letras:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "S_uperior"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "Inf_erior"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "_Prefixo de base"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 para octal, 0x para hexadecimal, + para decimal positivo"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr "Espaçamento:"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "Esp_aço"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "_Zero"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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 "Organizacçã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 "Especificacção de publicação electró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 seleccionado a itálico"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Coloca texto seleccionado a negrito"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Sublinha o texto seleccionado"
      
      #: ../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 "Activar 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 selecçã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 "Apresentacçã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 ""
      "Define 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 a 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 ""
      "Activa 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 "Activa/Desactiva 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 selecção como negrito"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "Formata a selecção como itálico"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "Formata a selecção para tipo de letra romana"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Formata a selecção centrando-a"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Formata a selecção alinhando-a à esquerda"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Formata a selecçã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 selecção um nível acima"
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr "Definir selecçã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:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "Assiste_nte LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Inicia um assistente para criar facilmente um documento LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr "I_nserir carácter especial"
      
      #: ../geanylatex/src/geanylatex.c:2151
      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:2161
      msgid "Insert _Reference"
      msgstr "Inserir _referência"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr "Insere referências no documento"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "Inserir rótu_lo"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "Ajuda a inserir rótulos no documento"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "Ins_erir ambiente"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "Ajuda a inserir um ambiente no documento"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "Inserir p_acote"
      
      #: ../geanylatex/src/geanylatex.c:2186
      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 "
      "actual"
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formatar"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "Tamanh_o da letra"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "_Substituição de caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "Substituição de ca_racteres especiais em massa"
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "Substitui os caracteres especiais seleccionados por _expressões do TeX"
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "Alternar _substituição de caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "Inserir _comando"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr "Insere um comando personalizado no documento"
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr "_Inserir referência BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2293
      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:2298
      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"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Escrever e executar scripts Lua para comandos personalizados. \n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #: ../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 objecto 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:381
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua "
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: A gerar menu a partir de \"%s\"\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "Nada para configurar!"
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Abrir ficheiro"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Seleccionar ficheiro"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Explorar..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Seleccionar cor"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Escolher..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Seleccionar letra"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Seleccionar..."
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, 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:165
      #, 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:170
      #, 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:176
      #, 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:205
      #, 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:224
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "A extensão %s não carregou correctamente.\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 actual para a área de transferência"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Copiar a linha actual 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 actual"
      
      #: ../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 actual/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 selecção uma linha abaixo"
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr "Estender selecção uma linha acima"
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr "Estender selecção uma linha à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr "Estender selecção uma linha à direita"
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Estender selecçã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 selecçã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 selecçã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 selecção até ao início de parte da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr "Estender selecção até ao início da linha"
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr "Estender selecção até ao fim da linha"
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr "Estender selecção até ao início do documento"
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr "Estender selecção até ao fim do documento"
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr "Estender selecção uma página acima"
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr "Estender selecção uma página abaixo"
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr "Estender selecção até ao 1º carácter visível"
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr "Estender selecçã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 selecçã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 selecçã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 selecção acima até ao princípio do parágrafo actual/anterior"
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Estender selecção até ao fim da palavra à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Estender selecção até ao fim da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr "Estender selecção rectangular uma linha abaixo"
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr "Estender selecção rectangular uma linha acima"
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Estender selecção rectangular uma linha à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Estender selecção rectangular uma linha à direita"
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Estender selecção rectangular até ao início da linha"
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Estender selecção rectangular até ao fim da linha"
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Estender selecção rectangular uma página acima"
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Estender selecção rectangular 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 selecção rectangular 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 selecçã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:429
      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 actual com a de cima"
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "Alterar texto seleccionado para minúsculas"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "Alterar texto seleccionado para maiúsculas"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr "Inserir duplicado da linha actual abaixo"
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      "Inserir duplicado do texto seleccionado após a selecção. Se não houver "
      "selecçã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 selecçã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 acçõ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ó activar 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 "Seleccione 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 seleccione 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, seleccione 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 seleccionar 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 ""
      "Seleccionar 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 seleccionar um comando diferente para cada elemento, movê-los, "
      "adicionar novos elementos ou, se for inserir/substituir, pode editar o texto "
      "que substitui a selecçã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 acçõ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 seleccionando Gestor "
      "de extensões no menu Ferramentas, seleccionando 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 "Accionador 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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr "Gravar _macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr "Terminar a gravação da _macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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 selecção de texto,\n"
      "   o documento actual,\n"
      "   o todos os documentos da sessão actual.\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 "Seleccionar 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 "Seleccione a entrada do filtro Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "selecçã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 "Seleccionar a saída do filtro Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr "doc. actual"
      
      #: ../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 selecção de texto ou "
      "aos documentos actuais"
      
      #: ../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:246
      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 incorrectos 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 actual"
      
      #: ../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 nú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 seleccionado,\n"
      "usar cifra simétrica?"
      
      #: ../geanypg/src/geanypg.c:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Extensão para encriptacção GPG no Geany. \n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr "A usar libgpgme com versão:"
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr "Erro de"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Encriptar"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "Assinar"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "Desencriptar/Verificar"
      
      #: ../geanypg/src/geanypg.c:89
      msgid "Verify detached signature"
      msgstr "Verificar assinatura dissociada"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "Por favor seleccione 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 "Seleccionar 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 "Seleccionar 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. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Suporte alternativo ao projecto. \n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr "Localizar um texto num projecto geanyprj"
      
      #: ../geanyprj/src/geanyprj.c:242
      msgid "Display sidebar"
      msgstr "Mostrar barra lateral"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Preferências do projecto"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Novo projecto"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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 projecto"
      
      #: ../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 projecto. Pode ser "
      "uma pasta nova ou uma já existente. Pode usar pastas relativas ao nome do "
      "projecto."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Escolha o caminho base do projecto"
      
      #: ../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 projecto quando este for carregado. Não pode adicionar/remover "
      "manualmente ficheiros se activou esta opção, dado que a sua modificação será "
      "descartada no próximo carregamento do projecto"
      
      #: ../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 projecto \"%s\" já existe"
      
      #: ../geanyprj/src/menu.c:367
      msgid "_Project"
      msgstr "_Projecto"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Eliminar projecto"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Adicionar ficheiro"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferências"
      
      #: ../geanyprj/src/menu.c:418 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Localizar no projecto"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Remover ficheiro"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1475
      msgid "H_ide Sidebar"
      msgstr "Ocultar barra _lateral"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr "Projecto"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Projecto \"%s\" aberto."
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Impossível carregar previamente a biblioteca Python: \"%s\"."
      
      #: ../geanypy/src/geanypy-plugin.c:415
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr "Suporte a extensões Python"
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Interface para diferentes sistemas de controlo de versões. \n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc:  erro s_spawn_sync: %s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "Ficheiro %s: acção %s executada via %s."
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, 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:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "Não foram efetuadas quaisquer alterações."
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr "Nenhum histórico disponível"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Tem a certeza que quer reverter: %s?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Tem a certeza que quer adicionar: %s?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Tem a certeza que quer remover: %s?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Tem a certeza que quer actualizar?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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 directamente "
      "no Geany usando o menu GeanyVC (pasta base -> Diff)."
      
      #: ../geanyvc/src/geanyvc.c:1254
      msgid "Commit Y/N"
      msgstr "Submeter S/N"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Estado"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Caminho"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Linha: %d coluna: %d"
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Submeter"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "Remover selecção/Seleccionar to_dos os ficheiros"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "Mensagem de submissão:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr "_Submeter"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "Nada para submeter."
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      "Falha ao inicializar a correcção ortográfica GeanyVC: %s. Verifique a sua "
      "configuração."
      
      #: ../geanyvc/src/geanyvc.c:1887
      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:1890
      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 activar 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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "Confirmar adicionar novos ficheiros a um SCV"
      
      #: ../geanyvc/src/geanyvc.c:1901
      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:1907
      msgid "Maximize commit dialog"
      msgstr "Maximizar janela de submissão"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "Mostra a janela de submissão maximizada."
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Usar aplicação de diferenças externa"
      
      #: ../geanyvc/src/geanyvc.c:1916
      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:1922
      msgid "Show VC entries at editor menu"
      msgstr "Mostrar entrada do CV no menu do editor"
      
      #: ../geanyvc/src/geanyvc.c:1924
      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:1929
      msgid "Attach menu to menubar"
      msgstr "Anexar menu à barra de menus"
      
      #: ../geanyvc/src/geanyvc.c:1931
      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 directamente "
      "na barra de menus do Geany. Será tido em conta no arranque seguinte do "
      "GeanyVC."
      
      #: ../geanyvc/src/geanyvc.c:1939
      msgid "Enable CVS"
      msgstr "Activar SCV"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "Activar GIT"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "Activar SVN"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "Activar SVK"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Activar Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Activar Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "Idioma para correcção ortográfica"
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr "Acções C_V sobre ficheiros"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Diferenças"
      
      #: ../geanyvc/src/geanyvc.c:2070
      msgid "Make a diff from the current active file"
      msgstr "Inicia uma comparação de diferenças no ficheiro activo"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "_Reverter"
      
      #: ../geanyvc/src/geanyvc.c:2078
      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:2087
      msgid "_Blame"
      msgstr "_Culpar"
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "_Histórico (diário)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      msgid "Shows the log of the current file"
      msgstr "Mostra o histórico do ficheiro activo"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2105
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr "Mostra o original do ficheiro activo"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "_Adicionar ao controlo de versão"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Adiciona o ficheiro ao repositório."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "_Remover do controlo de versão"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Remove o ficheiro do repositório."
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Pasta"
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr "Inicia uma comparação de diferenças na pasta do ficheiro activo"
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      "Restaura os ficheiros originais na pasta actual (descarta alterações locais)."
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr "Mostra o diário da pasta actual"
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "Pasta _base"
      
      #: ../geanyvc/src/geanyvc.c:2186
      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:2194
      msgid "Revert any local edits."
      msgstr "Reverte quaisquer alterações locais."
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr "Mostra o diário da primeira pasta do CV"
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "_Submeter CV"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Mostrar diferenças do ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Mostrar diferenças da pasta"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Mostrar diferenças da pasta base"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "Submeter alterações"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Mostrar estado"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Reverter ficheiro único"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Reverter pasta"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Reverter pasta base"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Actualizar ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "C_V"
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "Controlo de _versão"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "E_stado"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Mostrar estado."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Actualizar a partir de repositório remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "_Submeter"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Submeter alterações."
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr "Cole o seu código no seu pastebin favorito"
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr "Grupo \"%s\" não encontrado."
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr "Grupo \"%s\" não tem chave \"%s\"."
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr "Serviço pastebin inválido."
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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. Seleccione um serviço pastebin nas "
      "preferências ou crie uma configuração pastebin apropriada e tente novamente."
      
      #: ../geniuspaste/src/geniuspaste.c:804
      msgid "Refusing to create blank paste"
      msgstr "Recusa de criar uma colagem em branco"
      
      #: ../geniuspaste/src/geniuspaste.c:824
      msgid "Failed to paste the code"
      msgstr "Falha ao colar o código"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      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:831
      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:833 ../geniuspaste/src/geniuspaste.c:850
      msgid "Check the pastebin configuration and retry."
      msgstr "Verifique a configuração pastebin e tente novamente."
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr "Falha ao obter o URL de colagem."
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr "Resposta inesperada do serviço pastebin."
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr "Colagem com sucesso"
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, 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:881
      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:894
      msgid "The author name field is empty!"
      msgstr "O campo de nome de autor está vazio!"
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr "Seleccione um pastebin:"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr "Insira o nome do autor:"
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr "Mostrar a sua colagem num novo separador do navegador"
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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 actualiza as diferenças automaticamente ao haver alterações subjacentes "
      "no repositório Git. Por norma isto deve estar activado para uma experiência "
      "de utilização optimizada."
      
      #: ../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:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Falha ao carregar ficheiro de configuração: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, 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:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Falha ao gravar ficheiro de configuração: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr "Desfazer hunk Git"
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      msgid "Go to the previous hunk"
      msgstr "Ir para o hunk anterior"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      msgid "Go to the next hunk"
      msgstr "Ir para o hunk seguinte"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr "Desfazer hunk até ao cursor"
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, 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"
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr "Iniciar/Parar gravação"
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr "Reproduzir"
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr "Gravador de teclas"
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr "Permite gravar uma sequência de teclas e repoduzi-la"
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr "tunyash"
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr "Operacção com sucesso! %d linhas removidas."
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr "Operacção com sucesso! Sem linhas removidas."
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr "Operacção com sucesso! %d linhas afectadas."
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr "Remover linhas duplicadas, _sortidas"
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr "Remover linhas duplicadas, _ordenadas"
      
      #: ../lineoperations/src/lineoperations.c:258
      msgid "Remove _Unique Lines"
      msgstr "Remover linhas ú_nicas"
      
      #: ../lineoperations/src/lineoperations.c:260
      msgid "Keep _Unique Lines"
      msgstr "Manter linhas ú_nicas"
      
      #: ../lineoperations/src/lineoperations.c:263
      msgid "Remove _Empty Lines"
      msgstr "R_emover linhas vazias"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr "Remover linhas de es_paços"
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr "Ordenar linhas _ascendentemente"
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr "Ordenar linhas _descendentemente"
      
      #: ../lineoperations/src/lineoperations.c:274
      msgid "_Line Operations"
      msgstr "Operações de _linha"
      
      #: ../lineoperations/src/lineoperations.c:320
      msgid "Line Operations"
      msgstr "Operações de linha"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection 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 ou selecção, tais como remover linhas duplicadas, remover "
      "linhas vazias, remover linhas só com espaços e ordenar linhas."
      
      #: ../lipsum/src/lipsum.c:43
      msgid "Lipsum"
      msgstr "Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Criar texto fictício com o Geany."
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Gerador de Lipsum"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Insira a dimensão do texto Lipsum aqui"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      "Extensão renomeada detectada!\n"
      "\n"
      "Como certamente já reparou, o GeanyLipsum foi renomeado para Lipsum. \n"
      "O Geany consegue migrar a sua configuração de extensões movendo-a para uma "
      "nova localização.\n"
      "Aviso: isto não inclui as suas ligações de teclas.\n"
      "Quer mover agora?"
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      "A sua pasta de configuração foi movida com sucesso de \"%s\" para \"%s\"."
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      "A sua pasta de configuração antiga \"%s\" não pôde ser movida para \"%s"
      "\" (%s). Por favor, mova-a manualmente para a nova localização."
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      msgid "_Lipsum..."
      msgstr "_Lipsum..."
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "Inclui pseudo-texto no seu código"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Inserir texto Lipsum"
      
      #. 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 "Seleccionar ficheiro modelo"
      
      #: ../markdown/src/plugin.c:34
      msgid "Real-time Markdown preview"
      msgstr "Antevisão real de Markdown"
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr "Antever Markdown"
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr "Exportar Markdown como HTML..."
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr "O documento actual não tem tipo de ficheiro Markdown."
      
      #: ../markdown/src/plugin.c:278
      msgid "Save HTML File As"
      msgstr "Gravar ficheiro HTML como"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr "Ficheiros HTML"
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      msgid "All Files"
      msgstr "Todos os ficheiros"
      
      #: ../markdown/src/plugin.c:322
      #, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "Falha ao exportar Markdown HTML para o ficheiro \"%s\": %s"
      
      #: ../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:1967
      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 activo"
      
      #: ../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 "Factor 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 "Desactivar 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 actual, 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 barra de "
      "visão geral. Defina como igual à cor de sobreposição para desactivar."
      
      #: ../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:40
      msgid "Pair Tag Highlighter"
      msgstr "Realce de par de etiquetas"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Localiza e realça etiquetas de abertura/fecho HTML correspondentes"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching Tag"
      msgstr "Ir até à etiqueta correspondente"
      
      #: ../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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      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:1557
      msgid "Toggle current translation fuzziness"
      msgstr "Alternar a confusão da tradução actual"
      
      #: ../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:1554
      msgid "Reflow the current translation string"
      msgstr "Testar a cadeia de tradução actual"
      
      #: ../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:1560
      msgid "Show statistics of the current document"
      msgstr "Mostra estatísticas do documento actual"
      
      #: ../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 actualiza 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 "Actualizar 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:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr "Colar cadeia original não traduzida na tradução"
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, 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:41
      msgid "XML PrettyPrinter"
      msgstr "XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Formata um XML e torna-o humanamente legível. \n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr "XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr "Executar a XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr "Impossível processar o conteúdo como XML."
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr "Nós vazios"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr "Concatenação ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr "Espaçamento ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr "Expansão ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "Indentação"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "Espaço"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr "Quebra de linha"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      msgid "Project Organizer"
      msgstr "Organizador de projecto"
      
      #: ../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 projecto, procura e indexação a nível de projecto, "
      "opções extra de navegação (era GProject)"
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      msgid "Find in Project Files..."
      msgstr "Localizar em ficheiros de projecto..."
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Localizar em ficheiros de projecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      msgid "Find Project File..."
      msgstr "Localizar ficheiro de projecto..."
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Localizar ficheiro de projecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      msgid "Find Project Symbol..."
      msgstr "Localizar símbolo de projecto..."
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      msgid "Find project symbol"
      msgstr "Localizar símbolo de projecto"
      
      #: ../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 seleccionado (Organizador de projecto)"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr "Padrões de fontes:"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      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:593
      msgid "Header patterns:"
      msgstr "Padrões de ficheiros de cabeçalhos:"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      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:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr "Padrões de ficheiro a ignorar:"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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 projecto."
      
      #: ../projectorganizer/src/prjorg-project.c:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr "Padrões de pasta a ignorar:"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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 usar para identificar pastas onde "
      "não se procurarão ficheiros de código."
      
      #: ../projectorganizer/src/prjorg-project.c:629
      msgid "Index all project files:"
      msgstr "Indexar todos os ficheiros de projecto:"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr "Automático (indexar se menos de 300 ficheiros)"
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr "Sim"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      msgid "No"
      msgstr "Não"
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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 projecto e não só para os "
      "actualmente abertos. Pode ser lento para projectos grandes."
      
      #: ../projectorganizer/src/prjorg-project.c:644
      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ó afectam a barra lateral e não são usados no "
      "diálogo Localizar em\n"
      " ficheiros. Pode restringir os ficheiros que pertencem ao projecto definindo "
      "os Padrões\n"
      "de ficheiro no separador Projecto (estes também são usados no diálogo "
      "Localizar em ficheiros)."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:123
      msgid "Find File"
      msgstr "Procurar ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr "Procurar dentro:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr "Procurar em caminho completo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      msgid "project or external directory"
      msgstr "projecto ou pasta externa"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      msgid "Add External Directory"
      msgstr "Adicionar pasta externa"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      msgid "Add"
      msgstr "Adicionar"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      msgid "Find Symbol"
      msgstr "Procurar símbolo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr "Comparar tipo:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr "Definir padrões de ficheiros sob Projecto -> Propriedades"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr "Recarregar todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      msgid "Add external directory"
      msgstr "Adicionar pasta externa"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr "Colapsar para a raíz do projecto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr "Seguir o editor activo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr "Abrir um projecto para começar a usar a extensão"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      msgid "Find in Files..."
      msgstr "Localizar em ficheiros..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      msgid "Find File..."
      msgstr "Procurar ficheiro..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      msgid "Find Symbol..."
      msgstr "Procurar símbolo..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      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_eleccionar 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 "_Inspeccionar 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, inspecções e registos"
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:521
      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 "Actualizar 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 "Inspeccionar"
      
      #: ../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 "Inspeccionar"
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr "Objecto:"
      
      #: ../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:521
      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 exactamente."
      
      #: ../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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../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 inspecçã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 desactivados."
      
      #: ../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 "Inspeccionar variável"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr "Erro GDB indefinido."
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "Seleccionar pasta"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "Seleccionar 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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Front-end GDB relativamente simples. \n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr "Programa de configuração"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr "Executar/Continuar"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr "Executar até à fonte"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr "Terminar"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr "Alternar ponto de quebra"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr "Comando GDB"
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr "Mostrar terminal"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr "Ocupado"
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr "Pronto"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr "Pendurado"
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr "Assem"
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr "Carregar"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr "Acção de construção activada. Terminar depuração?"
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr "Quebras"
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr "Consola"
      
      #: ../scope/src/scope.c:525
      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: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"
      
      #: ../sendmail/src/sendmail.c:45
      msgid "SendMail"
      msgstr "SendMail"
      
      #: ../sendmail/src/sendmail.c:46
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Envia o ficheiro actual como anexo com o seu programa de correio electrónico "
      "favorito"
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "Endereço de destino"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "Insira o endereço electrónico de destino:"
      
      #: ../sendmail/src/sendmail.c:143
      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."
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "O espaço reservado para o endereço electrónico de destino não encontrado. O "
      "comando executado pode ter falhado."
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Impossível executar a aplicação de correio. Por favor, verifique a "
      "configuração."
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "Por favor, defina uma aplicação de correio electrónico primeiro."
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "O ficheiro tem de ser gravado antes de ser enviado."
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "Correio"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "Enviar por correio"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "Caminho e opções para a aplicação de correio:"
      
      #: ../sendmail/src/sendmail.c:322
      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 electró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\""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "Mostrar ícone da barra de ferramentas"
      
      #: ../sendmail/src/sendmail.c:334
      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."
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr "Usar diálogo para inserir os endereços electrónicos de destino"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Enviar ficheiro por correio"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      "Extensão renomeada detetada!\n"
      "\n"
      "GeanySendMail foi renomeado para SendMail -- certamente que já o "
      "reconheceu. \n"
      "O Geany consegue migrar a sua configuração de extensões movendo-a para uma "
      "nova localização.\n"
      "Quer mover agora?"
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      "A sua pasta de configuração antiga \"%s\" não pôde ser movida para \"%s"
      "\" (%s). Por favor, mova-a manualmente para a nova localização."
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "Enviar o docu_mento"
      
      #: ../sendmail/src/sendmail.c:445
      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"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Tentar:"
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "A verificar"
      
      #: ../spellcheck/src/speller.c:299
      #, 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:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "A verificar \"%s\" (usando %s):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "O texto verificado não contém erros ortográficos."
      
      #: ../spellcheck/src/speller.c:345
      #, 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:346
      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 "Correcção ortográfica"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Verifica a ortografia do actual documento."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Executar o corrector ortográfico"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Alternar correcção ortográfica ao digitar"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Seleccionar pasta"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      "Mostrar ícone na barra de ferramentas, para activar/desactivar correcçã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 sub-menu do menu do editor"
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Imprimir palavras incorrectas e sugestões na janela de mensagens"
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr "Ambiente"
      
      #: ../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 ""
      "Activar esta opção vai verificar qualquer documento após ser aberto no "
      "Geany. Recarregar um documento também força nova verificacção."
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Idioma a usar para a correcçã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 "Correcção ortográfica enquanto digita encontra-se activa agora"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "Correcção ortográfica enquanto digita encontra-se desactiva 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 correcçã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 correcção ortográfica enquanto digita (idioma actual: %s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Sugestões de ortografia"
      
      #: ../shiftcolumn/src/shiftcolumn.c:41
      msgid "Shift Column"
      msgstr "Deslocar coluna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Deslocar a selecção à direita e à esquerda. \n"
      "Esta extensão actualmente não é mantida. Quer ajudar a manter a extensão?"
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "Deslocar à esquerda"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      msgid "Shift Right"
      msgstr "Deslocar à direita"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "Tableconvert"
      
      #: ../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 selecção. A abortar"
      
      #: ../tableconvert/src/tableconvert.c:328
      msgid "Convert selection to table"
      msgstr "Converter selecçã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 actualmente seleccionada 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:127
      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 ""
      "Esta extensão adiciona um navegador em árvore ao Geany, permitindo a "
      "navegação em ficheiros, na pasta actual, usando uma vista em árvore."
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s: pasta inexistente."
      
      #: ../treebrowser/src/treebrowser.c:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(vazio)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Impossível executar o comando externo \"%s\" (%s). "
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewDirectory"
      msgstr "Nova pasta"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "Novo ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, 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:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Tem a certeza que quer eliminar \"%s\"?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      msgid "Go _Up"
      msgstr "S_ubir"
      
      #: ../treebrowser/src/treebrowser.c:1213
      msgid "Set _Path From Document"
      msgstr "Definir _caminho do documento"
      
      #: ../treebrowser/src/treebrowser.c:1217
      msgid "_Open Externally"
      msgstr "_Abrir externamente"
      
      #: ../treebrowser/src/treebrowser.c:1222
      msgid "Open _Terminal"
      msgstr "Abrir _terminal"
      
      #: ../treebrowser/src/treebrowser.c:1226
      msgid "Set as _Root"
      msgstr "Definir como _raiz"
      
      #: ../treebrowser/src/treebrowser.c:1231
      msgid "Refres_h"
      msgstr "Actuali_zar"
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr "Localizar em _ficheiros"
      
      #: ../treebrowser/src/treebrowser.c:1243
      msgid "N_ew Folder"
      msgstr "N_ova pasta"
      
      #: ../treebrowser/src/treebrowser.c:1247
      msgid "_New File"
      msgstr "_Novo ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:1251
      msgid "Rena_me"
      msgstr "Reno_mear"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Fechar: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, c-format
      msgid "Clo_se Child Documents "
      msgstr "Fechar documento_s-filho"
      
      #: ../treebrowser/src/treebrowser.c:1274
      msgid "_Copy Full Path to Clipboard"
      msgstr "_Copiar caminho completo para a área de transferência"
      
      #: ../treebrowser/src/treebrowser.c:1283
      msgid "E_xpand All"
      msgstr "E_xpandir tudo"
      
      #: ../treebrowser/src/treebrowser.c:1287
      msgid "Coll_apse All"
      msgstr "Col_apsar tudo"
      
      #: ../treebrowser/src/treebrowser.c:1294
      msgid "Show Boo_kmarks"
      msgstr "Mostrar mar_cadores"
      
      #: ../treebrowser/src/treebrowser.c:1299
      msgid "Sho_w Hidden Files"
      msgstr "Mostrar ficheiros oc_ultos"
      
      #: ../treebrowser/src/treebrowser.c:1304
      msgid "Show Tool_bars"
      msgstr "Mostrar _barras de ferramentas"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "O ficheiro destino \"%s\" já existe, quer realmente substituir?"
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr "Ir para cima"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Actualizar"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Pasta pessoal"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Definir caminho a partir do documento"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr "Rastrear caminho"
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Ocultar barras"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra de endereço por exemplo \"/projectos/meu-projecto\""
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr "Navegador em árvore"
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Comando externo para abrir"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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 seleccionado, sem o "
      "nome do ficheiro."
      
      #: ../treebrowser/src/treebrowser.c:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr "O terminal a usar com o comando \"Abrir terminal\""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr "Barra de ferramentas"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Oculto"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Topo"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "Fundo"
      
      #: ../treebrowser/src/treebrowser.c:1987
      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:1991
      msgid "Show icons"
      msgstr "Mostrar ícones"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Nenhum"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "Base"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "Tipo de conteúdo"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Mostrar ficheiros ocultos"
      
      #: ../treebrowser/src/treebrowser.c:2006
      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:2008
      msgid "Hide object files"
      msgstr "Ocultar ficheiros objecto"
      
      #: ../treebrowser/src/treebrowser.c:2013
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Não mostrar ficheiros objecto gerados no navegador, isto inclui *.o, *.obj, "
      "*.so, *.dll, *.a, *.lib"
      
      #: ../treebrowser/src/treebrowser.c:2015
      msgid "Reverse filter"
      msgstr "Reverte o filtro"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Seguir o documento activo"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "Clique único abre documento e foca-o"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Clique duplo abre pasta"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "Ao eliminar ficheiro, fechá-lo caso esteja aberto"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr "Focar o editor ao abrir ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Mostrar as linhas da árvore"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Mostrar marcadores"
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr "Abrir novos ficheiros"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Focar a lista de ficheiros"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "Focar a entrada de caminho"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "Renomear objecto"
      
      #: ../treebrowser/src/treebrowser.c:2143
      msgid "New File"
      msgstr "Novo ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:2145
      msgid "New Folder"
      msgstr "Nova pasta"
      
      #: ../treebrowser/src/treebrowser.c:2149
      msgid "Track Current"
      msgstr "Rastrear actual"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "Procurar actualizações"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr "Verifica se há actualizaçõ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 actualizações ao iniciar"
      
      #: ../updatechecker/src/updatechecker.c:332
      msgid "Check for Updates"
      msgstr "Procurar actualizaçõ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 esta página web"
      
      #: ../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 actual"
      
      #: ../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 é actualizada 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 inspector"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr "Última geometria da janela do inspector"
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr "inspector separado"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr "Se o inspector 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 a página web actual"
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Navegador"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "Janelas"
      
      #: ../workbench/src/dialogs.c:43
      msgid "Create new workbench"
      msgstr "Criar nova bancada"
      
      #: ../workbench/src/dialogs.c:74
      msgid "Open workbench"
      msgstr "Abrir bancada"
      
      #: ../workbench/src/dialogs.c:77
      msgid "_Open"
      msgstr "_Abrir"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr "Ficheiros de bancada (.geanywb)"
      
      #: ../workbench/src/dialogs.c:113
      msgid "Add project"
      msgstr "Adicionar projecto"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr "_Adicionar"
      
      #: ../workbench/src/dialogs.c:119
      msgid "Project files (.geany)"
      msgstr "Ficheiros de projecto (.geany)"
      
      #: ../workbench/src/dialogs.c:150
      msgid "Add directory"
      msgstr "Adicionar pasta"
      
      #: ../workbench/src/dialogs.c:218
      msgid "Directory settings"
      msgstr "Definições de pasta"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr "_Aceitar"
      
      #: ../workbench/src/dialogs.c:232
      msgid "File patterns:"
      msgstr "Padrões de ficheiros:"
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      "Lista de padrões separados por espaços, usados para identificar ficheiros "
      "que são mostrados na árvore de pastas."
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      "Lista de padrões separados por espaços, usados para identificar ficheiros "
      "que não são mostrados na árvore de pastas."
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      "Lista separada por espaços, de padrões a ser usados para identificar pastas "
      "onde não se procurarão ficheiros fonte."
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      "Nota: os padrões acima só afectam a pasta da bancada, não são usados no "
      "diálogo Localizar em ficheiros."
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr "Definições da bancada"
      
      #: ../workbench/src/dialogs.c:361
      msgid "Rescan all projects on open:"
      msgstr "Re-analisar todos os ficheiros ao abrir:"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      "Se a opção estiver activa (predefinição); todos os projectos são re-"
      "analisados ao abrir a bancada."
      
      #: ../workbench/src/menu.c:95
      #, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "Impossível criar ficheiro de bancada: %s."
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr "Impossível abrir ficheiro de bancada: %s."
      
      #: ../workbench/src/menu.c:139
      #, c-format
      msgid "Could not save workbench file: %s"
      msgstr "Impossível gravar ficheiro de bancada: %s."
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr "Bancada"
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr "_Nova..."
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr "_Abrir..."
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr "_Gravar"
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      msgid "S_ettings"
      msgstr "D_efinições"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      msgid "_Close"
      msgstr "Fe_char"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      "Criar ou abrir uma bancada\n"
      "usando o menu de bancadas."
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr "Gerir e personalizar múltiplos projectos."
      
      #: ../workbench/src/popup_menu.c:232
      #, c-format
      msgid "Could not add project file: %s"
      msgstr "Impossível adicionar ficheiro de projecto: %s"
      
      #: ../workbench/src/popup_menu.c:518
      msgid "_Add project..."
      msgstr "_Adicionar projecto..."
      
      #: ../workbench/src/popup_menu.c:524
      msgid "_Save project"
      msgstr "_Gravar projecto"
      
      #: ../workbench/src/popup_menu.c:530
      msgid "_Remove project"
      msgstr "_Remover projecto"
      
      #: ../workbench/src/popup_menu.c:536
      msgid "_Fold/unfold project"
      msgstr "_Dobrar/Desdobrar projecto"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr "_Abrir todos os ficheiros no projecto"
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr "Fe_char todos os ficheiros no projecto"
      
      #: ../workbench/src/popup_menu.c:558
      msgid "_Add directory..."
      msgstr "_Adicionar pasta..."
      
      #: ../workbench/src/popup_menu.c:564
      msgid "_Remove directory"
      msgstr "_Remover pasta"
      
      #: ../workbench/src/popup_menu.c:570
      msgid "_Rescan directory"
      msgstr "_Re-analisar pasta"
      
      #: ../workbench/src/popup_menu.c:576
      msgid "_Directory settings"
      msgstr "_Definições da pasta"
      
      #: ../workbench/src/popup_menu.c:582
      msgid "_Fold/unfold directory"
      msgstr "D_obrar/Desdobrar pasta"
      
      #: ../workbench/src/popup_menu.c:588
      msgid "_Open all files in directory"
      msgstr "_Abrir todos os ficheiros no directório"
      
      #: ../workbench/src/popup_menu.c:594
      msgid "_Close all files in directory"
      msgstr "Fe_char todos os ficheiros no directório"
      
      #: ../workbench/src/popup_menu.c:604
      msgid "_Open all files in folder"
      msgstr "_Abrir todos os ficheiros na pasta"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr "Fe_char todos os ficheiros na pasta"
      
      #: ../workbench/src/popup_menu.c:620
      msgid "_Expand all"
      msgstr "_Expandir tudo"
      
      #: ../workbench/src/popup_menu.c:626
      msgid "_Collapse all"
      msgstr "_Colapsar tudo"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr "_Adicionar aos marcadores da bancada"
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr "_Adicionar aos marcadores do projecto"
      
      #: ../workbench/src/popup_menu.c:648
      msgid "_Remove from Bookmarks"
      msgstr "_Remover dos marcadores"
      
      #: ../workbench/src/sidebar.c:291
      msgid "Base dir"
      msgstr "Pasta base"
      
      #: ../workbench/src/sidebar.c:324
      msgid "No directories"
      msgstr "Sem pastas"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr "Sem bancada aberta."
      
      #: ../workbench/src/sidebar.c:598
      #, c-format
      msgid "%s: %u Projects"
      msgstr "%s: projectos %u"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      "Adicionar um projecto\n"
      "usando o menu contextual."
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      "%s\n"
      "Projecto não encontrado!"
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      "Este projecto não tem pastas. Pode adicioná-las através do menu contextual."
      
      #: ../workbench/src/wb_project.c:942
      #, c-format
      msgid "Directory-Name: %s\n"
      msgstr "Nome da pasta: %s\n"
      
      #: ../workbench/src/wb_project.c:943
      #, c-format
      msgid "Base-Directory: %s\n"
      msgstr "Pasta-base: %s\n"
      
      #: ../workbench/src/wb_project.c:945
      msgid "File Patterns:"
      msgstr "Padrões de ficheiro:"
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr "Padrões de pasta a ignorar:"
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr "Padrões de ficheiro a ignorar:"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr "Número de sub-pastas: %u\n"
      
      #: ../workbench/src/wb_project.c:982
      #, c-format
      msgid "Number of Files: %u\n"
      msgstr "Número de ficheiros: %u\n"
      
      #: ../workbench/src/wb_project.c:1006
      #, c-format
      msgid "Project: %s\n"
      msgstr "Projecto: %s\n"
      
      #: ../workbench/src/wb_project.c:1007
      #, c-format
      msgid "File: %s\n"
      msgstr "Ficheiro: %s\n"
      
      #: ../workbench/src/wb_project.c:1008
      #, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Número de pastas: %u\n"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      "\n"
      "O projecto contém alterações por gravar!\n"
      
      #: ../workbench/src/workbench.c:710
      #, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "O ficheiro %s não é um ficheiro de bancada válido!"
      
      #: ../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 "Create _new file"
      #~ msgstr "Criar _novo ficheiro"
      
      #~ msgid "E_xpand all"
      #~ msgstr "E_xpandir tudo"
      
      #~ msgid "Create New File"
      #~ msgstr "Criar novo ficheiro"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Criar nova pasta"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "Executar o visualizador de documentação sobre o símbolo atual."
      
      #~ msgid "Column mode, select to line / brace / anchor."
      #~ msgstr "Modo Coluna, selecionar até à linha/chaveta/âncora."
      
      #~ msgid "Insert/Fill columns with numbers."
      #~ msgstr "Inserir/Preencher colunas com números."
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "Escreva e execute scripts Lua a partir de comandos personalizados."
      
      #~ msgid "gpg encryption plugin for geany"
      #~ msgstr "Extensão de encriptação GPG para Geany"
      
      #~ msgid "Alternative project support."
      #~ msgstr "Suporte alternativo para projeto."
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Interface para diferentes Sistemas de Controlo de Versão (SCV)."
      
      #~ msgid "Formats an XML and makes it human-readable."
      #~ msgstr "Formata um XML e torna-o humanamente legível."
      
      #~ msgid "Relatively simple GDB front-end."
      #~ msgstr "Front-end GDB relativamente simples"
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Desloca uma seleção para a esquerda e direita"
      
      #~ msgid "Delete"
      #~ msgstr "Eliminar"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #~ msgid "Failed to import manager module"
      #~ msgstr "Falha ao importar o módulo de gestão"
      
      #~ msgid "Failed to retrieve PluginManager from manager module"
      #~ msgstr "Falha ao recuperar o Gestor de extensões do módulo de gestão"
      
      #~ msgid "System plugin directory not found."
      #~ msgstr "Pasta de extensões do sistema não encontrada."
      
      #~ msgid "Unable to instantiate new PluginManager"
      #~ msgstr "Impossível iniciar novo Gestor de extensões"
      
      #~ msgid "Unable to get show_all() method on plugin manager"
      #~ msgstr "Impossível obter o método show_all() no gestor de extensões"
      
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "Impossível criar pasta de extensões Python: %s: %s"
      
      #~ msgid "Python Plugin Manager"
      #~ msgstr "Gestor de extensões Pyhton"
      
      #~ 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 "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 ""
      #~ "\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.32/po/ja.po0000644000175000017500000077310513204251613016071 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "ブックマーク"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "アドオン"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Geanyむけのアドオン集"
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "ブックマークに切り替え"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "タスク一覧に切り替え"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "タスク一覧を更新"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "XMLタグ付けを実行"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr "プラグイン設定ディレクトリを作成できません。"
      
      #: ../addons/src/addons.c:494
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr "現在の文書一覧を表示するツールバーボタンを表示"
      
      #: ../addons/src/addons.c:498
      msgid "Sort documents by _name"
      msgstr "名前による文書の並び替え(_N)"
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr "ファイル名によるリスト内の文書の並び替え"
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr "出現順に文書を並び替え(_O)"
      
      #: ../addons/src/addons.c:505
      msgid "Sort the documents in the order of the document tabs"
      msgstr "文書タブの順番に文書を並び替え"
      
      #: ../addons/src/addons.c:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "出現順(逆順)に文書を並び替え(_O)"
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr "文書タブの逆順に文書を並び替え"
      
      #: ../addons/src/addons.c:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "'URIを開く'をエディタのメニューに表示"
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "メッセージウィンドウに利用可能なタスクを表示"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "すべての文書のタスクを表示"
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "セミコロンで区切られた検索文字列を指定"
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr "検索文字列:"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "通知領域にステータスアイコンを表示"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "サイドバーにブックマークを表示"
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr "ダブルクリックしたときに単語をすべてマークする"
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "文末の空白行を除去"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "選択用のXMLタグ付け"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr "定義可能なキー入力によって選択したものに括弧をつける"
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr "自動的に選択したものに括弧をつける(括弧をつけるためのキー入力は不要)"
      
      #: ../autoclose/src/autoclose.c:49
      #, fuzzy
      msgid "Auto-close"
      msgstr "自動"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "コードページなし"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "カーソルを行の終わりに移動"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "ブラウザの方向"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      #, fuzzy
      msgid "Suppress double-completion"
      msgstr "自動補完モード"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "選択を解除"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "レベルを下げる"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      #, fuzzy
      msgid "Enclose selections in strings and comments"
      msgstr "定義可能なキー入力によって選択したものに括弧をつける"
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr "ソースの拡張子"
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr "ヘッダの拡張子"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      #, fuzzy
      msgid "Reset to Default"
      msgstr "標準"
      
      #: ../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 ""
      
      #. 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: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 ""
      "アクション、ファイルなどに素早くアクセスするためのコマンドパネルを提供しま"
      "す。"
      
      #: ../commander/src/commander-plugin.c:772
      msgid "Show Command Panel"
      msgstr "コマンドパネルを表示"
      
      #: ../commander/src/commander-plugin.c:776
      #, fuzzy
      msgid "Show Command Panel (Commands Only)"
      msgstr "コマンドパネルを表示"
      
      #: ../commander/src/commander-plugin.c:780
      #, fuzzy
      msgid "Show Command Panel (Files Only)"
      msgstr "コマンドパネルを表示"
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr "デバッガ"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr "統合デバッガ"
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "デバッグ"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "名前"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "値"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr "対象ファイルを選択"
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "対象:"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr "参照"
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr "デバッガ:"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr "コマンドライン引数:"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "環境変数"
      
      #. 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 "変数を削除しますか?"
      
      #: ../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:526
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "プログラムが受信したシグナル:"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "プログラムは終了コード \"%i\" で終了"
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr "gdbプロセスの起動に失敗"
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"対象ファイルを読み込み中\\n\""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr "ファイル読み込みエラー"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr "GDBの設定エラー"
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      "ブレークポイントを %s:%i に設定できません\n"
      "デバッガ・メッセージ: %s"
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      msgid "Target"
      msgstr "対象"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "ブレークポイント"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr "監視"
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr "自動"
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr "コール・スタック"
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr "デバッグ端末"
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "デバッガ・メッセージ"
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "実行/継続"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "停止"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr "再起動"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr "中へ"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr "次へ"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr "外へ"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr "カーソル位置まで実行"
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "ブレークポイントを追加/削除"
      
      #: ../debugger/src/keys.c:56
      #, fuzzy
      msgid "Jump to the current instruction"
      msgstr "現在の命令に移動"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "式を評価できません"
      
      #: ../debugger/src/callbacks.c:257
      msgid "To edit source files stop debugging session"
      msgstr "ソースファイルを編集するためにデバッグ・セッションを停止"
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "実行"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "設定"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "2画面モード"
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr "継続"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr "デバッグ・セッション・データをプロジェクトに保存"
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr "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 ""
      "Devhelp, マニュアル・ページ, Google コード・サーチからの検索結果を統合された"
      "ビューアに表示する機能を提供します。"
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "設定ディレクトリを '%s' に作成できません"
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "既定の設定の読み込みに失敗: %s"
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "既定の設定の保存に失敗: %s"
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr "サイドバー・コンテンツ・タブの切り替え"
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr "サイドバー検索タブを切り替え"
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr "文書タブを切り替え"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr "すべてのタブを有効"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr "Devhelpで現在のタグを検索"
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      #, fuzzy
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "gpg暗号化プラグイン"
      
      #: ../geanyctags/src/geanyctags.c:145
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: ディレクトリがありません"
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      #, fuzzy
      msgid "Find Tag"
      msgstr "検索:"
      
      #: ../geanyctags/src/geanyctags.c:529
      #, fuzzy
      msgid "_Search for:"
      msgstr "検索文字列:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      #, fuzzy
      msgid "prefix"
      msgstr "基数の接頭語(_P)"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      #, fuzzy
      msgid "pattern"
      msgstr "手紙"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "大文字小文字を区別(_A)"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      #, fuzzy
      msgid "_Declaration"
      msgstr "関係式"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      #, fuzzy
      msgid "Generate tags"
      msgstr "全般"
      
      #: ../geanyctags/src/geanyctags.c:654
      #, fuzzy
      msgid "Find tag..."
      msgstr "検索:"
      
      #: ../geanyctags/src/geanyctags.c:659
      #, fuzzy
      msgid "Find tag"
      msgstr "次を検索"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "文書"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "コマンド出力を解析できません"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "バッファに出力"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "コマンド 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "コマンド 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w は現在の単語に置き換えられます\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "文書の現在の単語"
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "特殊な選択(_X)"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr "列選択モード(_C)"
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr "列選択モード"
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr "行番号指定選択(_L)"
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr "行番号指定選択"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "対応する括弧で選択(_B)"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "対応する括弧で選択"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      #, fuzzy
      msgid "Convert selection"
      msgstr "選択範囲をテーブルに変換"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr "アンカーを設定(_S)"
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr "アンカーを設定"
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr "アンカー指定選択(_A)"
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr "アンカー指定選択"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr "アンカーで矩形選択(_R)"
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr "文書生成"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr "ソースコードより文書の元を生成"
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "設定の読み込みに失敗: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "設定の保存に失敗: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr "ファイル種類 \"%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 ""
      "# このファイル種類の設定ファイルがまだありません。\n"
      "# 作成するには、このファイルに適切な内容を記述し、保存します。\n"
      "# このファイルの説明部分の構文については、マニュアルを参照してください。\n"
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "ファイル \"%s\" の読み込みに失敗: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr "文書コメントを挿入"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr "文書の現在のシンボル(_D)"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr "現在のシンボルの文書を生成します"
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr "すべてのシンボルの文書(_A)"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr "現在の文書のすべてのシンボルについての文書を生成"
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr "設定ファイルの再読み込み(_R)"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "設定ファイルを再読み込みします"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "現在の言語の設定を編集(_E)"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr "現在の言語設定ファイルを編集のために開く"
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr "マニュアルを開く(_M)"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "マニュアルをブラウザで開く"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr "文書の生成(_D)"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "全般"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "文書を生成する前にファイルを保存(_S)"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr "挿入した文書にインデントをつける(_I)"
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr "挿入した文書を、挿入位置でのインデントに合わせるかどうかを指定"
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "文書の種類"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr "全体の環境"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "全体の環境設定を変更したり追加します。この設定はファイル種類別の設定に結合さ"
      "れます。"
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "ファイル \"%s\" は存在しますが通常のファイルではありません"
      
      #: ../geanygendoc/src/ggd-utils.c:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "番号を挿入"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "数えています..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "準備中..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "挿入中..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr "基数が11以上のとき"
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "開始(_S):"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "増分(_T):"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "基数(_B):"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "文字:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "大文字(_U)"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "小文字(_L)"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "基数の接頭語(_P)"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "8進数には0,16進数には0x,正の10進数に+をつけることができます"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr "余白:"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "空白(_A)"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "ゼロ(_Z)"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr "LaTeXウィザードを実行"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "選択した文字を斜体に設定"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "選択した文字を太字に設定"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "選択した文字に下線を設定"
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "中心揃え"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "左揃え"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "右揃え"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "標準で KOMA スクリプトを使用"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "追加プラグインツールバーを表示"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr "入力時に大文字化する文"
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr "Geanyのメインツールバーにウィザードアイコンを追加"
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr "小さい大文字で表示 (\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr "このプラグインを無視"
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr "LaTeXで自動補完を常に実行"
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr "自動補完モード"
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "ラベルを挿入"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "ラベル名:"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "コマンドを挿入"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "コマンド名:"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "参照を挿入"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "参照名:"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "標準参照(_S)"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "ページ参照(_P)"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr "両方追加(_A)"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "詳細"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr "補助パッケージを追加"
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "パッケージ名:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr "パッケージオプション:"
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr "BibTeX 参照を挿入"
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr "BibTeX 参照名:"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "敬称の書出し(Dear Sir や Madameなど)"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "文末の定型句(regardsなど)"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr "テンプレートが割り当てられていません。終了します"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "テンプレート:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr "新規文書を作成するのに使用されるテンプレートを設定"
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr "標準"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "文書クラス:"
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "作成する文書の種類を選択"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "論文"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "レポート"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "手紙"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "プレゼンテーション"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "エンコード方法:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "新規文書のエンコード方法を設定"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr "フォントサイズ:"
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr "新規文書の標準フォントサイズを設定"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr "著者:"
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr "\\author コマンドの値を設定。通常あなたの氏名を設定します。"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr "日付:"
      
      #: ../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 ""
      "新規作成 LaTeX文書のヘッダに追加する\\dateコマンドの値を設定します。日付を一"
      "定にしたくないときは、\\todayのままにしておくのがよいでしょう。"
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr "題名:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr "新規文書の題名を設定します。"
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "用紙サイズ:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr "新規文書の用紙を選択"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr "用紙の向き"
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr "新規文書の用紙の向きを選択"
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "可能であれば、KOMAスクリプトクラスを使用してください。"
      
      #: ../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 ""
      "Markus Kohmによる、KOMAスクリプト\n"
      "使用の注意: あなたの文書をコンパイルするには、これらのクラスを事前にインス"
      "トールする必要があります。"
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr "草稿モードを使用"
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      "新規文書に草稿フラグを設定し、デバッグヘルパーを使用した文書を作成します。"
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "LaTeXウィザードを実行"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "ラベル(\\label)を挿入"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "参照(\\ref)を挿入"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "改行(\\\\)を挿入 "
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "コマンドを挿入"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr "入力置き換えのOn/Off"
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "特殊文字の置き換え"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr "環境挿入ダイアログを実行"
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "項目を挿入(\\item)"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "太字フォント"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "斜体フォント"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "固定幅フォント"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "中央合わせ"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "左寄せ"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "右寄せ "
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr "説明リストを挿入"
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr "項目リストを挿入"
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr "列挙リストを挿入"
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr "レベルを上げる"
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr "レベルを下げる"
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr "パッケージ(\\usepackage{})を挿入"
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr "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 は Geany で LaTexをよりよくサポートするプラグインです。\n"
      "不具合や機能追加については作者にレポートしてください。"
      
      #: ../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 が不正な値で初期化されました。既定値に"
      "戻します。設定ファイルを確認してください。"
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr "page \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "LaTeXウィザード(_W)"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "LaTeX 文書を簡単に作成するウィザードを開始"
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr "特殊文字の挿入(_N)"
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr "あまり使われない特殊文字や記号を入力するのを補助します。"
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Insert _Reference"
      msgstr "参照を挿入(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr "文書に参照を挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "ラベルを挿入(_L)"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "文書にラベルを挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "環境を挿入(_E)"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "文書に環境を挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "パッケージを挿入(_A)"
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      "現在のファイルのヘッダに \\usepackage{} を挿入するための小さなダイアログ"
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "書式(_F)"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "フォントサイズ(_O)"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "特殊文字の置換(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "特殊文字の大域置換(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "選択した特殊文字をTeXの構文に置換(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "特殊文字置換の切り替え(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "コマンドを挿入(_C)"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr "文書にカスタムコマンドを挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr "BibTeX 参照を挿入(_I)"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr "BibTeXファイルの参照を挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2298
      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 "コードページなし"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "_Lua スクリプト"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: '%s' からメニューを構築\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "設定するものはありません!"
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "ファイルを開く"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "ファイルを選択"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "参照..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "色を選択"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "選択..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "フォントを選択"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "選択..."
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: サポートライブラリ %s をロードできません!\n"
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: サポートライブラリ %s の初期化に失敗!\n"
      
      #: ../geanylua/geanylua.c:170
      #, 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:176
      #, 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:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: サポートライブラリ %s がありません!\n"
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr "マクロを記録(_M)"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr "マクロ記録を停止(_M)"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr "ミニスクリプト"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr "選択文字列や現在の文書にスクリプト フィルタを適用するツール"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, Geanyユーザ"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr "ミニスクリプト(_M)"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr "番号指定ブックマーク"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr "すべて使用中のためマーカを '%s'に適用できません"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr "了解(_O)"
      
      #: ../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' はgeanyで保存してから変更されています。マーカの位置は信用できないので"
      "ロードしません。\n"
      "無視をクリックするとマーカを強制的にロードします。"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr "無視(_I)"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr "折りたたみ状態を保持"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr "ブックマークに移動したときに画面の中心にする"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr "行の始まりに移動"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr "行の記録された位置に移動"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr "現在の行の位置に移動"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr "行の終わりに移動"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr "プログラムの設定を保存"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr "ファイルに設定を保存"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr "通常のブックマークを保存"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr "番号指定ブックマーク・ヘルプ"
      
      #: ../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 ""
      "このプラグインは番号指定ブックマークを提供します。ブックマークを設定するに"
      "は、CtrlキーとShiftキーを押しながら、0から9のキーを押してください。行番号の隣"
      "にマーカが表示されます。マーカの行でCtrl+Shift+数字キーを押すと、そのマーカは"
      "削除されます。別の行でCtrl+Shift+数字キーを押すと、その行が新しいマーカ位置に"
      "なります。ある行にマーカが複数設定されているときは、最後に指定したマーカ番号"
      "が表示されますが、設定された他のマーカも有効です。以前設定したマーカを移動す"
      "るには、Ctrlキーと0から9のキーを押します。"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr "libgpgme使用バージョン:"
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr "エラー "
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "暗号化"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "署名"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "復号/ 検証"
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr "geanyprjプロジェクトの文字検索"
      
      #: ../geanyprj/src/geanyprj.c:242
      msgid "Display sidebar"
      msgstr "サイドバー表示"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "プロジェクトの設定"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "新規プロジェクト"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "プロジェクト(_P)"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "プロジェクトを削除"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "ファイルを追加"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "設定"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "サイドバーを隠す(_I)"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr "プロジェクト"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "プロジェクト \"%s\" が開かれました"
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, fuzzy, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "設定ディレクトリを '%s' に作成できません"
      
      #: ../geanypy/src/geanypy-plugin.c:415
      #, fuzzy
      msgid "GeanyPy"
      msgstr "GeanyPG"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: s_spawn_sync エラー: %s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated:  '%s' から '%s' に名前変更できません。"
      
      #: ../geanyvc/src/geanyvc.c:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "変更されたものはありません。"
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr "履歴が利用できません"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "変更を取り消してもよいですか: %s?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "ファイルを追加してもよいですか: %s?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "ファイルを削除してもよいですか: %s?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "リポジトリから更新してもよいですか?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "リポジトリに反映してもよいですか Y/N"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "状態"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "パス"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "コミット"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "すべてのファイルを選択/解除(_D)"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "コミット メッセージ:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr "コミット(_O)"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "反映させるものはありません。"
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "スペルチェッカ初期化エラー: %s"
      
      #: ../geanyvc/src/geanyvc.c:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "プラグインによって文書タブに作成された変更フラグを設定"
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "新規ファイルをVCSに追加するかどうか確認"
      
      #: ../geanyvc/src/geanyvc.c:1901
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "新規に作成されたファイルをVCSに追加するかどうか確認ダイアログを表示します。"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Maximize commit dialog"
      msgstr "コミットダイアログを最大化"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "コミットダイアログを最大化して表示します。"
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "外部diffビューアを使用"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "ファイルの差分を表示するのに外部のdiffビューアを使用します。"
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "'VCエントリー'をエディタのメニューに追加"
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr "エディタメニュー内にVCの機能を表示"
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr "メニューをメニューバーに追加"
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "CVSを有効"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "GITを有効"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "SVNを有効"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "SVKを有効"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Bazaarを有効"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Mercurialを有効"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "スペルチェック言語"
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr "_VC ファイル アクション"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "差分(_D)"
      
      #: ../geanyvc/src/geanyvc.c:2070
      msgid "Make a diff from the current active file"
      msgstr "現在のファイルとレポジトリのファイルの差分を作成します。"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "取り消し(_R)"
      
      #: ../geanyvc/src/geanyvc.c:2078
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "作業コピーのファイルを最初の状態に戻す(ローカルな編集を破棄)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2087
      msgid "_Blame"
      msgstr "履歴を追跡(_B)"
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "履歴ログ(_H)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      msgid "Shows the log of the current file"
      msgstr "現在のファイルのログを表示"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2105
      msgid "_Original"
      msgstr "オリジナル(_O)"
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr "現在のファイルのオリジナルを表示"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "バージョン管理に追加(_A)"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "ファイルをレポジトリに追加"
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "バージョン管理から削除(_R)"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "レポジトリからファイルを削除"
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "ディレクトリ(_D)"
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr "現在のファイルのディレクトリから差分を作成"
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr "現在のディレクトリの元のファイルを復元(ローカルな編集を破棄)"
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr "現在のディレクトリのログを表示"
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "_BASE ディレクトリ"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr "バージョン管理ディレクトリから diff を作成"
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr "ローカルな編集を元に戻す"
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr "バージョン管理ディレクトリのログを表示"
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "VC コミット(_C)"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "ファイルの差分を表示"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "ディレクトリの差分を表示"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "BASEディレクトリの差分を表示"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "変更を反映"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "状態を表示"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "1つのファイルを元に戻す"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "ディレクトリを元に戻す"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "BASE ディレクトリに戻す"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "ファイルを更新"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "_VC"
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "バージョン管理(_V)"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "状態(_S)"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "状態を表示"
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "外部のレポジトリから更新"
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "コミット(_C)"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "変更を反映"
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr "お気に入りのpastebinからコードを貼り付け"
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "ディレクトリ %s がありません!\n"
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "無効な場所 \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr "空の貼り付けを作成するのを禁じる"
      
      #: ../geniuspaste/src/geniuspaste.c:824
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "内容がXMLではないと判断されました"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "ファイル種類 \"%s\" 向けの設定ファイルが見つかりません: %s"
      
      #: ../geniuspaste/src/geniuspaste.c:844
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "スクリプトファイルのオープン失敗"
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      #, fuzzy
      msgid "Unexpected response from the pastebin service."
      msgstr "pinentryからの不明なエラー"
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr "貼り付けに成功しました"
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "あなたの貼りつけたものはここで見つかりました:\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr "開いている文書がありません。文書を開いてもう一度実行します。\n"
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr "作者名項目は空です!"
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr "pastebinを選択"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr "作者名を入力"
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr "新しいブラウザタブに貼りつけたものを表示"
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "設定の読み込みに失敗: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, fuzzy, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "ファイル種類 \"%s\" 向けの設定ファイルが見つかりません: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1414 ../pohelper/src/gph-plugin.c:1623
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "設定の保存に失敗: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "前の頁に移動"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "次の頁に移動"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, fuzzy, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "プラグイン %s のロードに失敗。\n"
      "インストールを確認してください。"
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "ファイルを削除"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "ファイルを削除"
      
      #: ../lineoperations/src/lineoperations.c:263
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "ファイルを削除"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      #, fuzzy
      msgid "_Line Operations"
      msgstr "バイナリ操作"
      
      #: ../lineoperations/src/lineoperations.c:320
      #, fuzzy
      msgid "Line Operations"
      msgstr "バイナリ操作"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      #, fuzzy
      msgid "Lipsum"
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Geanyでダミーテキストを作成"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Lipsum-Generator"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "ダミーテキストの文字数を指定"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      #, fuzzy
      msgid "_Lipsum..."
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "あなたの文書にダミーテキストを追加します"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      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:34
      msgid "Real-time Markdown preview"
      msgstr "リアルタイム マークダウン プレビュー"
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr "マークダウン プレビュー"
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr "現在の文書はマークダウンファイルではありません"
      
      #: ../markdown/src/plugin.c:278
      #, fuzzy
      msgid "Save HTML File As"
      msgstr "ファイルを保存"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "ファイルを追加"
      
      #: ../markdown/src/plugin.c:322
      #, fuzzy, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "ファイル \"%s\" の読み込みに失敗: %s"
      
      #: ../multiterm/src/config.vala:47
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "設定の保存に失敗: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #, 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
      #, fuzzy
      msgid "Move to message window"
      msgstr "メッセージウィンドウ"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "サイドバー"
      
      #: ../multiterm/src/context-menu.vala:81
      #, fuzzy
      msgid "Open Tab"
      msgstr "端末で開く"
      
      #: ../multiterm/src/context-menu.vala:96
      #, fuzzy
      msgid "Open Window"
      msgstr "新しいウィンドウ(_N)"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      #, fuzzy
      msgid "Previous tab"
      msgstr "前を検索"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      #, fuzzy
      msgid "Show Tabs"
      msgstr "状態を表示"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "既定の設定の保存に失敗: %s"
      
      #: ../multiterm/src/notebook.vala:202
      #, fuzzy
      msgid "New terminal"
      msgstr "端末を表示"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      #, fuzzy
      msgid "Terminal"
      msgstr "終了"
      
      #: ../multiterm/src/tab-label.vala:84
      #, fuzzy
      msgid "Close terminal"
      msgstr "端末を表示"
      
      #: ../multiterm/src/terminal.vala:88
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "コメントのビルドに失敗: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      #, fuzzy
      msgid "Go To Matching Tag"
      msgstr "対応する括弧で選択(_B)"
      
      #: ../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:1524
      #, 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:1527
      #, 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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      #, 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:1554
      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:1560
      #, 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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr "XML整形"
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr "XML整形"
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr "XML整形を実行"
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr "内容がXMLではないと判断されました"
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr "空ノード"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr "結合 (にする)"
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr "空白を開ける (にする)"
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr "展開 (にする)"
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "インデント"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "空白"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr "改行"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      #, fuzzy
      msgid "Project Organizer"
      msgstr "プロジェクトの設定"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      #, fuzzy
      msgid "Find Project File..."
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      #, fuzzy
      msgid "Find project symbol"
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr "ヘッダ/ソースを交換"
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr "ヘッダ/ソースを交換"
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      #, fuzzy
      msgid "Open Selected File (Project Organizer)"
      msgstr "選択したファイルを開く(gproject)"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr "ソースのフィルタ:"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      #, 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:593
      msgid "Header patterns:"
      msgstr "ヘッダのフィルタ:"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      "空白で区切られたヘッダファイルとして使用するファイルパターンのリストヘッダ。"
      "ソースの交換に使用します。"
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "無視するディレクトリ:"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      #, 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:617 ../workbench/src/dialogs.c:254
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "無視するディレクトリ:"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      #, fuzzy
      msgid "Index all project files:"
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      #, fuzzy
      msgid "Yes"
      msgstr "はい"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      #, fuzzy
      msgid "No"
      msgstr "番号"
      
      #: ../projectorganizer/src/prjorg-project.c:638
      #, 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:644
      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:123
      msgid "Find File"
      msgstr "ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr "検索範囲:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr "完全パスで検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      #, fuzzy
      msgid "project or external directory"
      msgstr "ディレクトリを作成"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      #, fuzzy
      msgid "Add External Directory"
      msgstr "ディレクトリを選択"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      #, fuzzy
      msgid "Add"
      msgstr "アドオン"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      #, fuzzy
      msgid "Find Symbol"
      msgstr "ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr "すべて読み直し"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      #, fuzzy
      msgid "Add external directory"
      msgstr "ディレクトリを元に戻す"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "すべて展開"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr "アクティブなエディタに従う"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "すべて展開"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      #, fuzzy
      msgid "Find in Files..."
      msgstr "複数ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      #, fuzzy
      msgid "Find File..."
      msgstr "ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      #, 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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../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
      msgid ""
      "Relatively simple GDB front-end.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr "プログラムを設定"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr "実行/継続"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr "ソース位置まで実行"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr "終了"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr "ブレークポイントを切り替え"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr "GDBコマンド"
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr "端末を表示"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr "ビジー"
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr "レディ"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr "ハング"
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr "Assem"
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr "ロード"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr "ビルドがアクティブになりました.デバッグを終了しますか?"
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr "ブレーク"
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr "コンソール"
      
      #: ../scope/src/scope.c:525
      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: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コマンド"
      
      #: ../sendmail/src/sendmail.c:45
      #, fuzzy
      msgid "SendMail"
      msgstr "GeanySendMail"
      
      #: ../sendmail/src/sendmail.c:46
      #, fuzzy
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "ユーザーのお気に入りのメーラーで、現在のファイルを添付ファイルとして送信する"
      "プラグイン"
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "受信者アドレス"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "受信者の電子メールアドレスを入力:"
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr "ファイル名がありません。実行したコマンドは間違っています。"
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr "受信者アドレスがありません。実行したコマンドは間違っています。"
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr "メールプログラムを実行できません。環境設定を確認してください。"
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "メールプログラムを先に設定してください。"
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "送信する前にファイルを保存する必要があります。"
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "メール"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "電子メールとして送信"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "メールプログラムのパスとオプション:"
      
      #: ../sendmail/src/sendmail.c:322
      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\""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "ツールバーアイコンを表示"
      
      #: ../sendmail/src/sendmail.c:334
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr "ファイル送信を簡単にするためにツールバーにアイコンを表示します。"
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr "受信者のメールアドレスを入力するダイアログを使用"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "ファイルを電子メールとして送信"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "文書をメールとして送信(_M)"
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "任意の電子メールプログラムによって編集中のファイルを非圧縮の添付ファイルとし"
      "て送信"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "候補: "
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "スペルチェック"
      
      #: ../spellcheck/src/speller.c:299
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "ファイル \"%s\" を検査( %d から %d 行目に %s を使用):"
      
      #: ../spellcheck/src/speller.c:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "ファイル \"%s\" を検査(%s を使用):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "検査した文字の綴りは正しいです。"
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Enchantライブラリを初期化できません(%s)。"
      
      #: ../spellcheck/src/speller.c:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "不明なエラー(選択した言語は利用できません)"
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr "スペルチェック"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "現在の文書の綴りを検査"
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "スペルチェックを実行"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "入力中のチェックを有効/無効"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "ディレクトリを選択"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr "スペルチェックを有効/無効にするツールバーボタンを表示"
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "修正候補を表示するエディタメニュー項目を表示"
      
      #: ../spellcheck/src/scplugin.c:293
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "'URIを開く'をエディタのメニューに表示"
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "メッセージウィンドウに間違った単語と修正候補を表示"
      
      #: ../spellcheck/src/scplugin.c:318
      #, fuzzy
      msgid "Interface"
      msgstr "検査"
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "入力中にスペルチェックを行う"
      
      #: ../spellcheck/src/scplugin.c:329
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "入力中にスペルチェックを行う"
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "スペルチェックの言語:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "辞書ファイルを探すディレクトリ(_D):"
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "このディレクトリから追加の辞書を読み込みます。現時点では、myspell 辞書のみ動"
      "作します。"
      
      #: ../spellcheck/src/scplugin.c:385
      #, 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:41
      msgid "Shift Column"
      msgstr "列を移動"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "左に移動"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "不明なエラーのため中断"
      
      #: ../tableconvert/src/tableconvert.c:328
      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
      #, fuzzy
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(空)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "設定済みの外部コマンド '%s' が実行できません (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewDirectory"
      msgstr "新規ディレクトリ"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "新規ファイル"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, 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:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "'%s' を削除してもよいですか?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      #, fuzzy
      msgid "Go _Up"
      msgstr "上に移動(_U)"
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "文書からパスを設定"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "外部アプリケーションで開く"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "端末で開く"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "rootに設定"
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "表示を更新"
      
      #: ../treebrowser/src/treebrowser.c:1235
      #, fuzzy
      msgid "_Find in Files"
      msgstr "複数ファイルを検索"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "フォルダを選択"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "新規ファイル"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "名前変更"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "閉じる: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "下位の文書を閉じる"
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "完全パスをクリップボードにコピー"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "すべて展開"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "すべて閉じる"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "ブックマークを表示"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "隠しファイルを表示"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "ツールバーを表示"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "対象ファイル '%s' が存在します。置き換えてもいいですか?"
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr "上に移動"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "表示を更新"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "ホーム"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "文書からパスを設定"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr "パスを記録"
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "バーを隠す"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "アドレスバーの入力例 '/projects/my-project'"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr "ツリーブラウザ"
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "他のプログラムで開く"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr "ツールバー"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "非表示"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "上"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "下"
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "If position is changed, the option require plugin restart."
      msgstr "位置を変更したときは、プラグインの再起動が必要です。"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Show icons"
      msgstr "アイコンを表示"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "なし"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "基本"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "内容"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "隠しファイルを表示"
      
      #: ../treebrowser/src/treebrowser.c:2006
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr "'.'(ドット)から始まるファイルを隠します"
      
      #: ../treebrowser/src/treebrowser.c:2008
      msgid "Hide object files"
      msgstr "オブジェクトファイルを表示しない"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr "フィルタを反転"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "現在の文書のディレクトリに合わせる"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "シングルクリックで文書を表示"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "ダブルクリックでディレクトリを表示"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "ファイル削除時に、開いていたら閉じる"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "ツリー行数を表示"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "ブックマークを表示"
      
      #: ../treebrowser/src/treebrowser.c:2057
      #, fuzzy
      msgid "Open new files"
      msgstr "ファイルを開く"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "ファイル覧に切り替え"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "パス入力に切り替え"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "オブジェクトの名前変更"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "新規ファイル"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "フォルダを選択"
      
      #: ../treebrowser/src/treebrowser.c:2149
      #, fuzzy
      msgid "Track Current"
      msgstr "パスを記録"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "更新チェッカー"
      
      #: ../updatechecker/src/updatechecker.c:41
      #, fuzzy
      msgid "Checks whether there are updates for Geany available"
      msgstr "Geany の新しいリリースが利用可能かどうかチェックするプラグイン"
      
      #: ../updatechecker/src/updatechecker.c:194
      #, fuzzy, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "新しいバージョンが利用可能です"
      
      #: ../updatechecker/src/updatechecker.c:202
      #, fuzzy
      msgid "No newer Geany version available."
      msgstr "新しいバージョンが利用可能です"
      
      #: ../updatechecker/src/updatechecker.c:217
      #, 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:289
      msgid "Run updatecheck on startup"
      msgstr "起動時に更新チェックを実行"
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr "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 ""
      "Webページのプレビューを表示します。ファイルを保存する毎に内容を確認しWebペー"
      "ジの解析とデバッグツールを呼び出します(Web検証ソフト)。WebKit を使用していま"
      "す。"
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr "Web表示"
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr "Webプレビュー"
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr "文書保存時に再読み込み"
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr "ブラウザ自動読み直し"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr "文書保存時にブラウザが読み直すかどうか"
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr "ブラウザの最新のURI"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr "ブラウザが最後に表示したURI"
      
      #: ../webhelper/src/gwh-plugin.c:329
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "ブックマークを表示"
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr "ブラウザの方向"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr "ブラウザ・ウィジェットの方向"
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr "ブラウザの位置"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Geany UIのブラウザ・ウィジェットの位置"
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr "ブラウザ分割ウィンドウの位置"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr "分割されたブラウザ・ウィンドウの最後の位置"
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr "検証ウィンドウの位置"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr "検証ウィンドウの最後の位置"
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr "検証ウィンドウの状態"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr "検証はウィンドウを分割するかブラウザにドッキングするか"
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr "副ウィンドウはタスクバーを表示しない"
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr "ウィンドウ・マネージャがタスクバーに副ウィンドウを表示させるかどうか"
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr "副ウィンドウは一時的"
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr "副ウィンドウは一時的な子ウィンドウかどうか"
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr "副ウィンドウの種類"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr "副ウィンドウの種類"
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr "Web検証を切り替え"
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr "Web表示ウィンドウを切り替え"
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "ブラウザ"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "ウィンドウ"
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "ディレクトリを作成"
      
      #: ../workbench/src/dialogs.c:74
      #, fuzzy
      msgid "Open workbench"
      msgstr "開く"
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "開く"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "プロジェクトファイルを検索"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      #, fuzzy
      msgid "_Add"
      msgstr "両方追加(_A)"
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "プロジェクトファイル \"%s\" は既に存在します"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "ディレクトリを元に戻す"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "環境設定"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      #, fuzzy
      msgid "_OK"
      msgstr "了解(_O)"
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "ソースのフィルタ:"
      
      #: ../workbench/src/dialogs.c:238
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      "空白で区切られたソースファイル検索の対象から外すディレクトリのパターンのリス"
      "ト"
      
      #: ../workbench/src/dialogs.c:249
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      "空白で区切られたソースファイル検索の対象から外すディレクトリのパターンのリス"
      "ト"
      
      #: ../workbench/src/dialogs.c:260
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      "空白で区切られたソースファイル検索の対象から外すディレクトリのパターンのリス"
      "ト"
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      #, fuzzy
      msgid "Workbench settings"
      msgstr "環境設定"
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "プロジェクトファイルを検索"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, fuzzy, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "一時ファイルを作成できません"
      
      #: ../workbench/src/menu.c:122
      #, fuzzy, c-format
      msgid "Could not open workbench file: %s"
      msgstr "デバッグ設定ファイル %s の読み込みに失敗: %s"
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr "デバッグ設定ファイル %s の読み込みに失敗: %s"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "設定"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "閉じる: %s"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "デバッグ設定ファイル %s の読み込みに失敗: %s"
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "プロジェクトファイルを検索"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "新規プロジェクト"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "オブジェクトの名前変更"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "プロジェクトファイルを検索"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "ディレクトリを元に戻す"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "ディレクトリを元に戻す"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "ディレクトリを元に戻す"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "ディレクトリ(_D)"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "ディレクトリの差分を表示"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "%s: ファイルまたはディレクトリがありません"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "ディレクトリを作成"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "署名ファイルを開く"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "すべて展開"
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "すべて閉じる"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "ブックマークを削除(_R)"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "基本"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "新規ディレクトリ"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "プロジェクト"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "ディレクトリ(_D)"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "_BASE ディレクトリ"
      
      #: ../workbench/src/wb_project.c:945
      #, fuzzy
      msgid "File Patterns:"
      msgstr "無視するディレクトリ:"
      
      #: ../workbench/src/wb_project.c:957
      #, fuzzy
      msgid "Ignored Dir. Patterns:"
      msgstr "無視するディレクトリ:"
      
      #: ../workbench/src/wb_project.c:969
      #, fuzzy
      msgid "Ignored File Patterns:"
      msgstr "無視するディレクトリ:"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, fuzzy, c-format
      msgid "Number of Files: %u\n"
      msgstr "巻数"
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "プロジェクト"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "閉じる: %s"
      
      #: ../workbench/src/wb_project.c:1008
      #, fuzzy, c-format
      msgid "Number of Directories: %u\n"
      msgstr "巻数"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, fuzzy, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "ファイル \"%s\" は存在しますが通常のファイルではありません"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr "XML スニペット"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "スニペットを使用してXML/HTMLタグを自動補完"
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "ファイルを作成"
      
      #, fuzzy
      #~ msgid "E_xpand all"
      #~ msgstr "すべて展開"
      
      #~ msgid "Create New File"
      #~ msgstr "ファイルを作成"
      
      #~ msgid "Create New Directory"
      #~ msgstr "ディレクトリを作成"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "選択中の単語をオンラインヘルプで調べます"
      
      #~ msgid "Column mode, select to line / brace / anchor."
      #~ msgstr "列選択モード、行番号指定選択、対応する括弧、アンカーで選択"
      
      #~ msgid "Insert/Fill columns with numbers."
      #~ msgstr "列に番号を挿入"
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "Lua スクリプトで作成したカスタムコマンドを実行します"
      
      #~ msgid "gpg encryption plugin for geany"
      #~ msgstr "gpg暗号化プラグイン"
      
      #~ msgid "Alternative project support."
      #~ msgstr "別のプロジェクト管理プラグイン"
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "バージョン管理システムとのインタフェース"
      
      #~ msgid "Formats an XML and makes it human-readable."
      #~ msgstr "XMLを整形し人が読みやすくします"
      
      #, fuzzy
      #~ msgid "Relatively simple GDB front-end."
      #~ msgstr "シンプルなGDBフロントエンド."
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "選択した箇所を左右に移動"
      
      #~ msgid "Delete"
      #~ msgstr "削除"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #, fuzzy
      #~ msgid "System plugin directory not found."
      #~ msgstr "tty 一時ディレクトリがありません!\n"
      
      #, fuzzy
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "設定ディレクトリを '%s' に作成できません"
      
      #~ 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 "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 ""
      #~ "\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 "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.32/po/Makefile.in.in0000644000175000017500000001575613204251762017617 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@
      localedir = @localedir@
      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)$(localedir)/$$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)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
      	  rm -f $(DESTDIR)$(localedir)/$$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.32/po/da.po0000644000175000017500000051352613204251613016062 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr ""
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr ""
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr ""
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr ""
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr ""
      
      #: ../addons/src/addons.c:494
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      
      #: ../addons/src/addons.c:498
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:505
      msgid "Sort the documents in the order of the document tabs"
      msgstr ""
      
      #: ../addons/src/addons.c:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr ""
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr ""
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr ""
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      msgid "Improved auto-indentation"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr ""
      
      #: ../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 ""
      
      #. 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:42
      msgid "Commander"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      msgid "Show Command Panel"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:776
      msgid "Show Command Panel (Commands Only)"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:780
      msgid "Show Command Panel (Files Only)"
      msgstr ""
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr ""
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr ""
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr ""
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr ""
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr ""
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr ""
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr ""
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr ""
      
      #. 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 ""
      
      #: ../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:526
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      msgid "Target"
      msgstr ""
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr ""
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr ""
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr ""
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr ""
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr ""
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr ""
      
      #: ../debugger/src/keys.c:56
      msgid "Jump to the current instruction"
      msgstr ""
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr ""
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:529
      msgid "_Search for:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      msgid "pattern"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      msgid "_Declaration"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      msgid "Generate tags"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:654
      msgid "Find tag..."
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:659
      msgid "Find tag"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      #, fuzzy
      msgid "Convert selection"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr ""
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr ""
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr ""
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr ""
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr ""
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr ""
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr ""
      
      #: ../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 ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1981
      #, fuzzy
      msgid "Format selection left-aligned"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanylatex/src/geanylatex.c:1983
      #, fuzzy
      msgid "Format selection right-aligned"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../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/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 ""
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Insert _Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr ""
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      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 ""
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      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:381
      msgid "_Lua Scripts"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:412
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:588
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:599
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:170
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:176
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr ""
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr ""
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:415
      msgid "GeanyPy"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1901
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2070
      msgid "Make a diff from the current active file"
      msgstr ""
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2078
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2087
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2100
      msgid "Shows the log of the current file"
      msgstr ""
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2105
      msgid "_Original"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr ""
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr ""
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr ""
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr ""
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      msgid "Failed to paste the code"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      msgid "Go to the previous hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      msgid "Go to the next hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      msgid "Remove _Unique Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:260
      msgid "Keep _Unique Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:263
      msgid "Remove _Empty Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      msgid "_Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:320
      msgid "Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      msgid "Lipsum"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      msgid "_Lipsum..."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      msgid "Save HTML File As"
      msgstr ""
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      msgid "All Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:322
      #, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:47
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #, 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
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../multiterm/src/context-menu.vala:81
      msgid "Open Tab"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:96
      msgid "Open Window"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      msgid "Previous tab"
      msgstr ""
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      msgid "Show Tabs"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      msgid "Unable to locate default shell in configuration file"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:202
      msgid "New terminal"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      msgid "Terminal"
      msgstr ""
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr ""
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      msgid "Unable to run command: %s"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching 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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      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:1554
      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:1560
      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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:40
      msgid "Project Organizer"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      msgid "Find in Project Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      msgid "Find Project File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      msgid "Find Project Symbol..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      msgid "Find project symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      msgid "Index all project files:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:634
      msgid "No"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      msgid "Find File"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      msgid "project or external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      msgid "Add External Directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      msgid "Add"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      msgid "Find Symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      msgid "Add external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      msgid "Find in Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      msgid "Find File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      msgid "Find Symbol..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr ""
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr ""
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr ""
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr ""
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr ""
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr ""
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr ""
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      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: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 ""
      
      #: ../sendmail/src/sendmail.c:45
      msgid "SendMail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:46
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr ""
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:322
      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 ""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:334
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr ""
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:299
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:293
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:329
      msgid "Check spelling when opening a document"
      msgstr ""
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:385
      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:41
      msgid "Shift Column"
      msgstr "Flyt Kolonne"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "Flyt til Venstre"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      msgid "LaTeX"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:328
      #, 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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewDirectory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1209
      msgid "Go _Up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1213
      msgid "Set _Path From Document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1217
      msgid "_Open Externally"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1222
      msgid "Open _Terminal"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1226
      msgid "Set as _Root"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1231
      msgid "Refres_h"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1243
      msgid "N_ew Folder"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1247
      msgid "_New File"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1251
      msgid "Rena_me"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, c-format
      msgid "Clo_se Child Documents "
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1274
      msgid "_Copy Full Path to Clipboard"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1283
      msgid "E_xpand All"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1287
      msgid "Coll_apse All"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1294
      msgid "Show Boo_kmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1299
      msgid "Sho_w Hidden Files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1304
      msgid "Show Tool_bars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Show icons"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2006
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2008
      msgid "Hide object files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2013
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2015
      msgid "Reverse filter"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2143
      msgid "New File"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2145
      msgid "New Folder"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2149
      msgid "Track Current"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "List of bookmarks"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr ""
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:43
      msgid "Create new workbench"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:74
      msgid "Open workbench"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:77
      msgid "_Open"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      msgid "Add project"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:119
      msgid "Project files (.geany)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:150
      msgid "Add directory"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:218
      msgid "Directory settings"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:232
      msgid "File patterns:"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:361
      msgid "Rescan all projects on open:"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, c-format
      msgid "Could not create new workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:139
      #, c-format
      msgid "Could not save workbench file: %s"
      msgstr ""
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      msgid "S_ettings"
      msgstr ""
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      msgid "_Close"
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, c-format
      msgid "Could not add project file: %s"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:518
      msgid "_Add project..."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:524
      msgid "_Save project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:530
      msgid "_Remove project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:536
      msgid "_Fold/unfold project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      msgid "_Add directory..."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:564
      msgid "_Remove directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:570
      msgid "_Rescan directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:576
      msgid "_Directory settings"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:582
      msgid "_Fold/unfold directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:588
      msgid "_Open all files in directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:594
      msgid "_Close all files in directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:604
      msgid "_Open all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      msgid "_Expand all"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:626
      msgid "_Collapse all"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      msgid "_Remove from Bookmarks"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:291
      msgid "Base dir"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:324
      msgid "No directories"
      msgstr ""
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, c-format
      msgid "%s: %u Projects"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, c-format
      msgid "Directory-Name: %s\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:943
      #, c-format
      msgid "Base-Directory: %s\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:945
      msgid "File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, c-format
      msgid "Number of Files: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1006
      #, c-format
      msgid "Project: %s\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1007
      #, c-format
      msgid "File: %s\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1008
      #, c-format
      msgid "Number of Directories: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Flyt det valgte til højre/venstre"
      geany-plugins-1.32/po/es.po0000644000175000017500000076766013204251613016117 0ustar00frlanfrlan00000000000000# translation of es.po to
      # Spanish translation for geany-plugins
      # Copyright (C) 2009 - 2017 Lucas Vieites
      # This file is distributed under the same license as the geany-plugins package.
      # Andrew Janke , 2009
      # Lucas Vieites , 2009 - 2017.
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.32\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+0100\n"
      "PO-Revision-Date: 2017-11-08 11:26+0100\n"
      "Last-Translator: Lucas Vieites \n"
      "Language-Team: Español \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: Poedit 1.8.11\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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Marcadores"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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 "Aceptar"
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "Cancelar"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr "OK"
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr "Combinación de encierre %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
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "La ruta de archivo «%s» ha sido copiada al portapapeles."
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:334
      msgid "Copy File Path"
      msgstr "Copiar la ruta del archivo"
      
      #: ../addons/src/ao_copyfilepath.c:122
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Copia la ruta de archivo del documento actual al portapapeles. "
      
      #: ../addons/src/addons.c:52
      msgid "Addons"
      msgstr "Añadidos"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Varios pequeños añadidos para Geany."
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "Enfocar lista de marcadores"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Enfocar lista de tareas"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Actualizar lista de tareas"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "Ejecutar etiquetado de XML"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      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:494
      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:498
      msgid "Sort documents by _name"
      msgstr "Ordenar documentos por _nombre"
      
      #: ../addons/src/addons.c:500
      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:503
      msgid "Sort documents by _occurrence"
      msgstr "Ordenar documentos por _frecuencia"
      
      #: ../addons/src/addons.c:505
      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:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Ordenar documentos por f_recuencia (inversa)"
      
      #: ../addons/src/addons.c:510
      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:537
      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:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Mostrar tareas disponibles en la ventana de mensajes"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Mostrar tareas de todos los documentos"
      
      #: ../addons/src/addons.c:553
      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:560
      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:562
      msgid "Search tokens:"
      msgstr "Cadenas de búsqueda:"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Mostrar un icono de estado en el área de notificación"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Mostrar marcadores definidos (líneas marcadas) en la barra lateral"
      
      #: ../addons/src/addons.c:591
      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:597
      msgid "Deselect a previous highlight by single click"
      msgstr "Desmarcar un resaltado anterior on una sola pulsación"
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "Eliminar líneas en blanco al final"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "Etiquetado XML para la selección"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr "Incluir selección mediante combinaciones de tecla configurables"
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr "Configurar cierre de pares"
      
      #: ../addons/src/addons.c:631
      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:49
      msgid "Auto-close"
      msgstr "Autocierre"
      
      #: ../autoclose/src/autoclose.c:50
      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:1032
      msgid "Auto-close quotes and brackets"
      msgstr "Auto-cerrar paréntesis y corchetes"
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr "Paréntesis ( )"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr "Auto-cerrar paréntesis \"(\" -> \"(|)\""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr "Llaves { }"
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr "Auto-cerrar llaves \"{\" -> \"{|}\""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr "Corchetes [ ]"
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr "Auto-cerrar corchetes \"[\" -> \"[|]\""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr "Corchetes angulares < >"
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr "Auto-cerrar corchetes angulares \"<\" -> \"<|>\""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr "\tSólo para HTML"
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr "Auto-cerrar corchetes angulares solamente en documentos HTML"
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr "Comillas dobles \" \""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr "Auto-cerrar comillas dobles \" -> \"|\""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr "Comillas simples ' '"
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr "Auto-cerrar comillas simples ' -> '|'"
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr "Comillas invertidas ` `"
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr "Auto-cerrar comillas invertidas ` -> `|`"
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr "\tSolo para scripts Shell (Bash)"
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr "Auto-cerrar comillas invertidas solamente en scripts de Shell Bash"
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr "Mejorar completado de llaves"
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr "Sangrar al encerrar"
      
      #: ../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 ""
      "Si selecciona un texto y pulsa «{» o «}» el plugin auto-cerrará las líneas "
      "seleccionadas y creará un nuevo bloque con sangría.\n"
      "No necesita seleccionar el bloque con precisión, solo se tendrán en cuenta "
      "las líneas."
      
      #: ../autoclose/src/autoclose.c:1063
      msgid "Move cursor to beginning"
      msgstr "Mover el cursor al inicio"
      
      #: ../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 ""
      "Si ha marcado «Sangrar al encerrar» puede ser útil mover el cursor al "
      "inicio: normalmente querrá añadir una palabra clave delante del bloque nuevo."
      
      #: ../autoclose/src/autoclose.c:1067
      msgid "Improved auto-indentation"
      msgstr "Auto-sangrado mejorado"
      
      #: ../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 ""
      "Auto-sangrado mejorado para llaves: escriba «{» y pulse Enter. El plugin "
      "creará un bloque completamente sangrado. Funciona sin haber marcado «Auto-"
      "cerrar llaves {»."
      
      #: ../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 coloca el signo asociado a la sentencia de control en la "
      "siguiente línea. Las sentencias dentro de las llaves se sangran al mismo "
      "nivel que las llaves."
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr "Borrar el carácter emparejado al pulsar la tecla de retroceso"
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      "Marque esta opción si desea borrar las llaves emparejadas al pulsar "
      "Retroceso."
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr "Eliminar completado doble"
      
      #: ../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 esta opción si quiere permitir al editor corregir errores con "
      "corchetes: si escribe «{}» obtendrá «{}» y no «{}}»."
      
      #: ../autoclose/src/autoclose.c:1083
      msgid "Enclose selections"
      msgstr "Encerrar selecciones"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      "Encerrar el texto seleccionado automáticamente al pulsar unsolo corchete."
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr "Mantener selección al encerrar"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr "Mantener el texto seleccionado depués de encerrar."
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr "Comportamiento dentro de comentarios y cadenas de texto"
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr "Permitit auto-cerrar en cadenas y comentarios"
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      "Marque esta opción si también quiere auto-cerrar dentro de cadenas de texto "
      "y comentarios."
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr "Encerrar selecciones dentro de cadenas y comentarios"
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      "Marque esta opción si también quiere encerrar selecciones dentro de cadenas "
      "de texto y comentarios."
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr "Auto-completar \";\" para funciones"
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      "Auto-cerrado de función completa (funciona solo para C/C++): escriba "
      "\"sin(\" y obtendrá \"sin(|);\"."
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr "Mayús+Retroceso también borrar el corchete pareja"
      
      #: ../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 ""
      "Borrar los corchetes de inicio y cierre al pulsar Mayús+Retroceso.\n"
      "Pista: para borrar completamente un bloque sangrado pulse Mayús+Retroceso "
      "con el \"{\" inicial ol el \"}\" final."
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr "Saltar a cierre al tabular"
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr "Mueve el cursor a detrás de elementos auto-cerrados al tabular."
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr "Auto-marcar"
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark word under cursor"
      msgstr "Auto-marcar la palabra debajo del cursor"
      
      #: ../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 ""
      "Este complemento añade características que facilitan la navegación entre "
      "archivos de código."
      
      #: ../codenav/src/codenavigation.c:138
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      "Las listas head/impl de Codenav deberían tener la misma longitud. Jean usará "
      "la configuración predeterminada."
      
      #. 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 "Cambiar cabecera/implementación"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr "Puede indicar varias extensiones separándolas por comas."
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr "Extensiones de implementaciones"
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr "Extensiones de cabeceras"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr "Volver a predeterminado"
      
      #: ../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 ""
      "¿Está seguro de que desea eliminar todos los lenguajes y volver a los "
      "ajustes predeterminados?\n"
      "Esta acción no se puede deshacer."
      
      #. 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 al archivo..."
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr "Ir al archivo"
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr "Introduzca el archivo que desea abrir:"
      
      #: ../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:42
      msgid "Commander"
      msgstr "Comandante"
      
      #: ../commander/src/commander-plugin.c:43
      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:772
      msgid "Show Command Panel"
      msgstr "Mostrar panel de comandos"
      
      #: ../commander/src/commander-plugin.c:776
      msgid "Show Command Panel (Commands Only)"
      msgstr "Mostrar panel de comandos (solo comandos)"
      
      #: ../commander/src/commander-plugin.c:780
      msgid "Show Command Panel (Files Only)"
      msgstr "Mostrar panel de comandos (solo archivos)"
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr "Depurador"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr "Integración de varios depuradores."
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "Depurar"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Nombre"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Valor"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr "Seleccionar archivo de destino"
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Objetivo:"
      
      #: ../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 línea de comando:"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "Variables de entorno"
      
      #. 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 "¿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:526
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr "El programa ha recibido la señal %s (%s)"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "El programa ha finalizado con código «%i»"
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr "No se ha podido resucitar el proceso gdb"
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      "~«Cargando archivo de destino.\n"
      "»"
      
      #: ../debugger/src/dbm_gdb.c:784
      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:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr "Error al configurar GDB"
      
      #: ../debugger/src/dbm_gdb.c:835
      #, 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:67
      #, 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:131
      msgid "Target"
      msgstr "Objetivo"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "Puntos de ruptura"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr "Vigilar"
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr "Autos"
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr "Pila de llamadas"
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr "Terminal de depuración"
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "Mensajes del depurador"
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "Ejecutar/continuar"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "Detener"
      
      #: ../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:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr "Entrar"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr "Saltar"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr "Salir"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr "Ejecutar hasta cursor"
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "Añadir/eliminar punto de ruptura"
      
      #: ../debugger/src/keys.c:56
      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:257
      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:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Ejecutar"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Ajustes"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "Modo de dos paneles"
      
      #: ../debugger/src/btnpanel.c:153
      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:55
      msgid "Define formatter"
      msgstr "Definir formateador"
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr "Complemento de 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 ""
      "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:120
      #, 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:135
      #, 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:143
      #, 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:173
      msgid "Toggle sidebar contents tab"
      msgstr "Conmutar la pestaña de contenidos de la barra lateral"
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr "Conmutar pestaña de búsqueda de la barra lateral"
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr "Conmutar pestaña de documentación"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr "Activar todas las pestañas"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr "Buscar la etiqueta actual en DevHelp"
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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 - 2017"
      
      #: ../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:2063
      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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "Complemento de generación y búsqueda de ctags para proyectos geany"
      
      #: ../geanyctags/src/geanyctags.c:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s (en el directorio: %s)"
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr "Ha fallado la ejecución del proceso (%s)"
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr "Buscar etiqueta"
      
      #: ../geanyctags/src/geanyctags.c:529
      msgid "_Search for:"
      msgstr "Bu_scar:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr "_Tipo de coincidencia:"
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr "exacto"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr "prefijo"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      msgid "pattern"
      msgstr "patrón"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "Sensible _a mayúsculas"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      msgid "_Declaration"
      msgstr "_Declaración"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr "Buscar declaración de etiqueta (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr "Buscar definición de etiqueta (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      msgid "Generate tags"
      msgstr "Generar etiquetas"
      
      #: ../geanyctags/src/geanyctags.c:654
      msgid "Find tag..."
      msgstr "Buscar etiqueta..."
      
      #: ../geanyctags/src/geanyctags.c:659
      msgid "Find tag"
      msgstr "Buscar etiqueta"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Abrir el visor de documentación en el símbolo actual.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "No se ha podido interpretar la salida del comando"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "Poner la salida en un búfer"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Comando 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Comando 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "Se reemplazará %w con la palabra actual\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "Documentar palabra actual"
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Modo columna, selecciona hasta línea/corchete/ancla.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "Selección e_xtra"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr "Modo _columna"
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr "Modo columna"
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr "Seleccionar hasta _línea"
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr "Seleccionar hasta línea"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "Seleccionar hasta _corchete correspondiente"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "Seleccionar hasta corchete correspondiente"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr "In_tercambiar flujo/rectangular"
      
      #: ../geanyextrasel/src/extrasel.c:531
      msgid "Convert selection"
      msgstr "Convertir selección"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr "Fijar an_cla"
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr "Fijar ancla"
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr "Seleccionar hasta _ancla"
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr "Seleccionar hasta ancla"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr "Seleccionar en _rectángulo hasta ancla"
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr "Generador de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      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:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "No se pudo cargar la configuración: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "No se pudo guardar la configuración: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, 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: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 ""
      "# 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:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "No se ha podido cargar el archivo «%s»: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr "Inserte comentario de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr "_Documentar símbolo actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr "Generar documentación para el símbolo actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr "Document_ar todos los símbolos"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      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:508
      msgid "_Reload Configuration Files"
      msgstr "_Recargar archivos de configuración"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Forzar la recarga de archivos de configuración"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "_Editar la configuración del lenguaje actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      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:525
      msgid "Open _Manual"
      msgstr "Abrir _manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "Abrir el manual en un navegador"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr "Generador de _documentación"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "General"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "_Guardar archivo antes de generar documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr "_Aplicar sangría a la documentación insertada"
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      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:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr "Entorno global"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      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:202 ../geanygendoc/src/ggd-utils.c:213
      #, 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:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Insertar números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Insertar/Rellenar columnas con números.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "Contando..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "Preparando..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "Insertando..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr "Para base 11 y superiores"
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "_Inicio:"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "_Paso:"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Letras:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "Mayúsc_ulas"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "Minúscu_las"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "_Prefijo base"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 para octal, 0x para hex, + para decimal positivo"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr "Relleno:"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "Esp_acio"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "_Cero"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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 "Extiende el soporte LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:115
      msgid "Runs LaTeX wizard"
      msgstr "Ejecuta asistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "Marca el texto seleccionado como cursiva"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Marca el texto seleccionado como negrita"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Subraya el texto seleccionado"
      
      #: ../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 "Orientado a la izquierda"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Orientado a la derecha"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "Utilizar script KOMA por defecto"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "Mostrar barra de herramientas de complemento opcional"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr "Capitalizar frase al escribir"
      
      #: ../geanylatex/src/geanylatex.c:303
      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:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr "Bajar selección al formatear versalitas (\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr "No se preocupe por este complemento interno"
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Realizar siempre autocompletado en LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr "Modo de autocompletado"
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "Insertar etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "Nombre de etiqueta:"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "Insertar comando"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "Nombre de comando:"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "Insertar referencia"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "Nombre de referencia:"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "Referencia e_stándar"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Referencia de _página"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr "_Añadir ambos"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Más"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr "Añadir paquete adicional"
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "Nombre del paquete:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr "Opciones del paquete:"
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr "Insertar referencia BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr "Nombre de referencia BibTeX:"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "Estimado Señor o Señora"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "Saludos cordiales"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr "No se asignó ninguna plantilla. Cancelando"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Plantilla:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      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:1767
      msgid "Default"
      msgstr "Por defecto"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "Clase de documento:"
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "Elija el tipo de documento que desea escribir"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Artículo"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Informe"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Carta"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Presentación"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Codificación:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "Establezca la codificación para su nuevo documento"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr "Tamaño de letra"
      
      #: ../geanylatex/src/geanylatex.c:1827
      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: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 ""
      "Establece el valor del comando \\author. En la mayoría de los casos, éste "
      "debería ser su nombre"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr "Fecha:"
      
      #: ../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 ""
      "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:1871
      msgid "Title:"
      msgstr "Título:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr "Establece el título de su nuevo documento."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "Tamaño del papel:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      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:1899
      msgid "Paper Orientation:"
      msgstr "Orientación de papel:"
      
      #: ../geanylatex/src/geanylatex.c:1902
      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:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "Utilizar clases de script KOMA si es posible"
      
      #: ../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 ""
      "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:1932
      msgid "Use draft mode"
      msgstr "Usar modo borrador"
      
      #: ../geanylatex/src/geanylatex.c:1934
      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:1951
      msgid "Run LaTeX-Wizard"
      msgstr "Ejecutar el asistente LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "Insertar \\label"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "Insertar \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "Insertar salto de línea \\\\"
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "Insertar comando"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr "Activar/desactivar reemplazo de entrada"
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Reemplazar caracteres especiales"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr "Ejecutar diálogo de insertar entorno"
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "Insertar \\item"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "Aplicar negrita a la selección"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "Aplicar cursiva a la selección"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "Aplicar fuente Typewriter a la selección"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Centrar selección"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Alinear selección a la izquierda"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Alinear selección a la derecha"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr "Insertar lista de tipo description"
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr "Insertar lista de tipo itemize"
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr "Insertar lista de tipo enumerate"
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr "Establecer la selección a un nivel más arriba"
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr "Establecer la selección a un nivel más abajo"
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr "Insertar \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr "Diálogo insertar referencia 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 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: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 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: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}}}, 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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "_Asistente LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Inicia un asistente para crear fácilmente documentos de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr "I_nsertar carácter especial"
      
      #: ../geanylatex/src/geanylatex.c:2151
      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:2161
      msgid "Insert _Reference"
      msgstr "Insertar _referencia"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr "Insertar referencias al documento"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "Insertar _etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "Ayuda a insertar etiquetas a un documento"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "Insertar _entorno"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "Ayuda a insertar un entorno a un documento"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "Insertar _paquete"
      
      #: ../geanylatex/src/geanylatex.c:2186
      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:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formato"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "Tamaño de _fuente"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "Reemplazo de caractere_s especiales"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "_Reemplazar caracteres especiales de forma masiva"
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "_Reemplazar caracteres especiales seleccionados con sustitutos TeX"
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "Alternar reemplazo de caractere_s especiales"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "Insertar _comando"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr "Insertar comando personalizado en el documento"
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr "Insertar referencia B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2293
      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:2298
      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"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Escribir y ejecutar scripts en Lua para comandos personalizados.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Construyendo menú desde «%s»\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "¡Nada para configurar!"
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Abrir archivo"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Seleccionar archivo"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Explorar..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Seleccionar color"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Elegir..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Seleccionar fuente"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Seleccionar..."
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, 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:165
      #, 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:170
      #, 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:176
      #, 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:205
      #, 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:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr "Grabar _macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr "Detener grabación de _macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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: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 ""
      "Una herramienta para aplicar un filtro de script sobre una selección de "
      "texto o un documento actual"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, un usuario de Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr "_Mini-Script"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr "Marcadores numerados para Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, 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:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr "_OK"
      
      #: ../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» ha sido editado desde que fue guardado por última vez por Geany. Las "
      "posiciones de los marcadores pueden no ser fiables y no serán cargadas.\n"
      "Pulse «Ignorar» para intentar cargar los marcadores de todos modos."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr "_Ignorar"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr "recordar estado de plegado"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr "Centrar vista al ir a un marcador"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr "Mover al inicio de la línea"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr "Mover a la posición recordada de la línea"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr "Mover a la posición en la línea actual"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr "Mover al final de la línea"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr "Guardar los ajustes del archivo con los ajustes del programa"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      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:1250
      msgid "remember normal Bookmarks"
      msgstr "recordar marcadores normales"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr "Ayuda de marcadores 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 ""
      "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:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Plugin de encriptación PGP para Geany.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr "Usando versión de libgpgme:"
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr "Error desde"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Cifrar"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "Firmar"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "Descifrar / Verificar"
      
      #: ../geanypg/src/geanypg.c:89
      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 "[mal valor de validez]"
      
      #. 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 " rojo"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr " revocado"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr " clave-expirada"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " firma-expirada"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " clave-perdida"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr " crl-perdido"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr " crl-demasiado-viejo"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr " mala política"
      
      #: ../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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Soporte alternativo de proyectos.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr "Buscar un texto en el proyecto geanyprj"
      
      #: ../geanyprj/src/geanyprj.c:242
      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:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Proyecto nuevo"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "_Proyecto"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Eliminar proyecto"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Añadir archivo"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferencias"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Ocultar barra _lateral"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      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:69
      #, 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:415
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr "Soporte para plugins Python"
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Interfaz hacia varios Sistemas de Control de Versión.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "Error de geanyvc: s_spawn_sync: %s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "Archivo %s: acción %s ejecutado vía %s."
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, 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:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "No se han realizado cambios."
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr "No hay historia disponible"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "¿Está seguro de que quiere revertir «%s»?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "¿Está seguro de que quiere añadir «%s»?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "¿Está seguro de que quiere eliminar «%s»?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "¿Está seguro de que quiere actualizar?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "Commit S/N"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Estado"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Ruta"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Línea: %d Columna: %d"
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Commit"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "_De/seleccionar todos los archivos"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "Mensaje de commit:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr "C_ommit"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "No hay nada para commit."
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      "Ha ocurrido un error al iniciar la comprobación ortográfica GeanyVC: %s. "
      "Compruebe su configuración."
      
      #: ../geanyvc/src/geanyvc.c:1887
      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:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "Confirmar la adición de archivos nuevos al VCS"
      
      #: ../geanyvc/src/geanyvc.c:1901
      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:1907
      msgid "Maximize commit dialog"
      msgstr "Maximizar el diálogo de commit"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "Mostrar el diálogo de commit maximizado."
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Usar un visor de diffs externo"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "Usar un programa externo para visualizar diferencias entre archivos."
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "Mostrar menús de VC en el menú del editor"
      
      #: ../geanyvc/src/geanyvc.c:1924
      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:1929
      msgid "Attach menu to menubar"
      msgstr "Añadir menú a la barra de menús"
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "Activar CVS"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "Activar GIT"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "Activar SVN"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "Activar SVK"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Activar Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Activar Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "Idioma de comprobación ortográfica"
      
      #: ../geanyvc/src/geanyvc.c:2061
      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:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2070
      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:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "_Revertir"
      
      #: ../geanyvc/src/geanyvc.c:2078
      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:2087
      msgid "_Blame"
      msgstr "_Culpar"
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "_Historial (registro)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      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:2105
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr "Muestra el original del archivo actual"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "_Añadir a control de versiones"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Añadir un archivo al repositorio."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "Elimina_r del Control de Versiones"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Eliminar el archivo del repositorio."
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Directorio"
      
      #: ../geanyvc/src/geanyvc.c:2147
      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:2156
      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:2166
      msgid "Shows the log of the current directory"
      msgstr "Muestra el registro del directorio actual"
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "Directorio _Base"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr "Crear un diff desde el directorio superior de CV"
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr "Revertir cualquier modificación local"
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr "Muestra el registro del directorio superior de CV"
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "_Commit CV"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Mostrar diff del archivo"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Mostrar diff del directorio"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Mostrar diff del directorio base"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "Hacer commit de los cambios"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Mostrar estado"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Revertir un solo archivo"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Revertir directorio"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Revertir directorio base"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Actualizar archivo"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "C_V"
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "Control de _versiones"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "E_stado"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Mostrar estado."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Actualizar desde el repositorio remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "_Commit"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Hacer commit de los cambios."
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr "Pegue su código en su pastebin preferido"
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr "No se ha encontrado el grupo «%s»."
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr "El grupo «%s» no tiene clave «%s»."
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr "Servicio pastebin inválido."
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      "Servicio pastebin inválido «%s». Seleccione un servicio pastebin existente "
      "en los ajustes o cree una configuración adecuada y vuelva a intentarlo."
      
      #: ../geniuspaste/src/geniuspaste.c:804
      msgid "Refusing to create blank paste"
      msgstr "Negándose a crear un pegado en blanco"
      
      #: ../geniuspaste/src/geniuspaste.c:824
      msgid "Failed to paste the code"
      msgstr "No se ha podido pegar el código"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      "Ha ocurrido un error al pegar el código en el servicio pastebin %s.\n"
      "Código de error: %u (%s).\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      "Compruebe su conexión o la configuración pastebin y vuelva a intentarlo."
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      "Espere a que se recupere el servicio y vuelva a intentarlo, o reinténtelo "
      "con otro servicio pastebin."
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      msgid "Check the pastebin configuration and retry."
      msgstr "Compruebe la configuración pastebin y vuelva a intentarlo."
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr "No se ha podido obtener la URL para pegarla."
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      "Se ha pegado el código con éxito en %s pero ha ocurrido un error al obtener "
      "su URL: %s\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:849
      msgid "Unexpected response from the pastebin service."
      msgstr "Respuesta inesperada del servicio pastebin."
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr "Pegado con éxito"
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "Su pegado se puede encontrar aquí:\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:881
      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:894
      msgid "The author name field is empty!"
      msgstr "El campo del nombre de autor está vacío."
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr "Seleccionar pastebin:"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr "Introduzca el nombre del autor:"
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr "Mostrar su pegado en una nueva pestaña del navegador"
      
      #: ../geniuspaste/src/geniuspaste.c:959
      msgid "_Paste it!"
      msgstr "_Péguelo"
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr "_Monitorear el repositorio por si hay cambios"
      
      #: ../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 ""
      "Indica si desea actualizar el diff automáticamente para mantenerlo al día "
      "con los cambios del repositorio Git subyacente. Esto debería estar activado "
      "para obtener una experiencia de usuario óptima."
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr "Líneas _añadidas:"
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr "Líneas _cambiadas:"
      
      #: ../git-changebar/data/prefs.ui.h:5
      msgid "_Removed lines:"
      msgstr "Líneas _eliminadas:"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr "Colores"
      
      #: ../git-changebar/src/gcb-plugin.c:58
      msgid "Git Change Bar"
      msgstr "Barra de cambios Git"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr "Realza cambios sin enviar en archivos seguidos con Git"
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, 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:1411 ../pohelper/src/gph-plugin.c:1620
      #, 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:1414 ../pohelper/src/gph-plugin.c:1623
      #, 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:1491
      msgid "Undo Git hunk"
      msgstr "Deshacer bloque Git"
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      msgid "Go to the previous hunk"
      msgstr "Ir al pedazo anterior"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      msgid "Go to the next hunk"
      msgstr "Ir al siguiente pedazo"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr "Deshacer bloque en la posición del cursor"
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, 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"
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr "Iniciar/Detener grabación"
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr "Reproducir"
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr "Grabador de pulsaciones de teclado"
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr "Permite grabar secuencias de pulsaciones y reproducirlas"
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr "tunyash"
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr "Operación completada! %d líneas borradas."
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr "Operación completada! Ninguna línea borrada."
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr "Operación completada! %d líneas afectadas."
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr "Eliminar líneas duplicadas, _ordenado"
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr "Eliminar líneas duplicadas, _sin ordenar"
      
      #: ../lineoperations/src/lineoperations.c:258
      msgid "Remove _Unique Lines"
      msgstr "Eliminar líneas únicas"
      
      #: ../lineoperations/src/lineoperations.c:260
      msgid "Keep _Unique Lines"
      msgstr "Mantener líneas ú_nicas"
      
      #: ../lineoperations/src/lineoperations.c:263
      msgid "Remove _Empty Lines"
      msgstr "Eliminar líneas _vacías"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr "Eliminar líneas en _blanco"
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr "Ordenar líneas _ascendiente"
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr "Ordenar líneas _descendente"
      
      #: ../lineoperations/src/lineoperations.c:274
      msgid "_Line Operations"
      msgstr "Operaciones de _líneas"
      
      #: ../lineoperations/src/lineoperations.c:320
      msgid "Line Operations"
      msgstr "Operaciones de líneas"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      "\"Operaciones de líneas\" proporciona un puñado de funciones que se pueden "
      "aplicar a un documento, por ejemplo: eliminar líneas duplicadas, eliminar "
      "líneas vacías, eliminar líneas en blanco, y ordenar líneas."
      
      #: ../lipsum/src/lipsum.c:43
      msgid "Lipsum"
      msgstr "Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Crear texto de relleno con Geany"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Generador Lipsum"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Introduzca la longitud del texto Lipsum"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      "¡Se ha detectado un cambio de nombre!\n"
      "\n"
      "Como ya habrá visto, GeanyLipsum ha sido renombrado a solamente Lipsum.\n"
      "Geany es capaz de migrar su configuración del complemento antiguo moviendo "
      "el archivo de configuración viejo al nuevo lugar.\n"
      "Aviso: esto no incluye sus combinaciones de teclas.\n"
      "¿Desea moverlo ahora?"
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      "Su directorio de configuración ha sido movido con éxito de «%s» a «%s»."
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      "Su directorio de configuración viejo «%s» no se ha podido mover a «%s» (%s). "
      "Mueva el directorio al lugar nuevo de forma manual."
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      msgid "_Lipsum..."
      msgstr "_Lipsum..."
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "Incluir Pseudotexto en el código"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Insertar texto Lipsum"
      
      #. 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:34
      msgid "Real-time Markdown preview"
      msgstr "Vista previa en directo de Markdown"
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr "Vista previa de Markdown"
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr "Exportar Markdown como HTML..."
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr "El documento actual no es un archivo de tipo Markdown."
      
      #: ../markdown/src/plugin.c:278
      msgid "Save HTML File As"
      msgstr "Guardar archivo HTML como"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr "Ficheros HTML"
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      msgid "All Files"
      msgstr "Todos los archivos"
      
      #: ../markdown/src/plugin.c:322
      #, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "Fallo al exportar Markdown HTML al fichero «%s»: %s"
      
      #: ../multiterm/src/config.vala:47
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "No se pudo guardar el archivo de configuración %s: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "No se pudo cargar el archivo de configuración %s: %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      msgid "Move to message window"
      msgstr "Mover a la ventana de mensajes"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      msgid "Move to sidebar"
      msgstr "Mover a la barra lateral"
      
      #: ../multiterm/src/context-menu.vala:81
      msgid "Open Tab"
      msgstr "Abrir pestaña"
      
      #: ../multiterm/src/context-menu.vala:96
      msgid "Open Window"
      msgstr "Abrir ventana"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr "Siguiente pestaña"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      msgid "Previous tab"
      msgstr "Pestaña anterior"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      msgid "Show Tabs"
      msgstr "Mostrar pestañas"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr "No se pudo lanzar la terminal externa: %s"
      
      #: ../multiterm/src/notebook.vala:137
      msgid "Unable to locate default shell in configuration file"
      msgstr ""
      "No se ha podido encontrar la shell predeterminada en el archivo de "
      "configuración"
      
      #: ../multiterm/src/notebook.vala:202
      msgid "New terminal"
      msgstr "Terminal nueva"
      
      #: ../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 de múltiples pestañas."
      
      #: ../multiterm/src/plugin.vala:78
      #, c-format
      msgid "Unable to write default config file: %s"
      msgstr "No se ha podido escribir en el archivo de configuración: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "No se ha podido leer el valor de la clave «%s»: %s"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1967
      msgid "Terminal"
      msgstr "Terminal"
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr "Cerrar terminal"
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      msgid "Unable to run command: %s"
      msgstr "No se ha podido ejecutar el comando: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr "Proporciona una vista global del documento activo"
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr "Intercambiar visibilidad"
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr "Intercambiar posición izquierda/derecha"
      
      #: ../overview/overview/overviewplugin.c:200
      msgid "Toggle Overlay Inversion"
      msgstr "Intercambiar inversión de cobertura"
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr "Línea %d, Columna %d, Posición %d"
      
      #: ../overview/overview/overviewui.c:289
      msgid "Show Overview"
      msgstr "Mostrar vista global"
      
      #: ../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 ""
      "La cantidad de zoom de la barra lateral de vista global. Esto deberá ser "
      "negativo si desea la barra lateral sin zoom."
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr "Nivel de zoom:"
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr "La anchura de la barra lateral de vista global."
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr "Anchura:"
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      "La cantidad de líneas que se desplazará la barra lateral de vista global al "
      "navegar."
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr "Líneas de desplazamiento:"
      
      #: ../overview/data/prefs.ui.h:7
      msgid "Position on left"
      msgstr "Colocar a la izquierda"
      
      #: ../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 ""
      "Colocar la barra de vista global a la izquierda (necesita Geany 1.15 o "
      "superior)."
      
      #: ../overview/data/prefs.ui.h:9
      msgid "Hide tooltip"
      msgstr "Ocultar ayuda emergente"
      
      #: ../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 ""
      "Oculta la ayuda emergente que indica línea, columna y posicón y se muestra "
      "al colocar el ratón sobre la vista global."
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr "Ocultar la barra de desplazamiento del editor"
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      "Indica si se oculta la barra de desplazamiento de Geany cuando está visible "
      "la barra de vista global."
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr "Desactivar 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 ""
      "Desactiva la cobertura, que muestra la región de la vista del editor "
      "principal, encima de la barra de vista global."
      
      #: ../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 ""
      "El color y la opacidad de la cobertura dibujada encima de la barra lateral "
      "de cobertura."
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr "Color:"
      
      #: ../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 ""
      "El color y la opcidad del borde alrededor del área mostrada en la barra "
      "lateral de vista global. Fijar al mismo que Color de cobertura para "
      "desactivar."
      
      #: ../overview/data/prefs.ui.h:19
      msgid "Outline Color:"
      msgstr "Color del borde:"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr "Dibujar por encima del área 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 ""
      "Si se marca dibujará la cobertura encima del área que está visible en la "
      "vista principal del editor. Al contrario hará lo opuesto, es decir, dibujará "
      "la cobertura en todas partes excepto el área visible, \"revelando\" el área "
      "visible."
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr "Cobertura"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:40
      msgid "Pair Tag Highlighter"
      msgstr "Resaltador de etiquetas parejas"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Encuentra y resalta etiquetas HTML de apertura/cierre"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching Tag"
      msgstr "Ir a etiqueta correspondiente"
      
      #: ../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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      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:1557
      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:1554
      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:1560
      msgid "Show statistics of the current document"
      msgstr "Mostrar estadísticas del documento actual"
      
      #: ../pohelper/data/menus.ui.h:25
      msgid "_Show stats"
      msgstr "Mo_strar estadísticas"
      
      #: ../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
      msgid "Translation statistics"
      msgstr "Estadísticas de traducción"
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr "Elija un color para las cadenas traducidas"
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr "Elija un color para las cadenas de traducción difusa"
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr "Elija un color para las cadenas sin traducir"
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr "Traducido:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr "Difuso:"
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr "Sin traducir:"
      
      #: ../pohelper/src/gph-plugin.c:40
      msgid "Translation Helper"
      msgstr "Ayudante de traducción"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr "Mejora el soporte para archivos de traducción Gettext."
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Traducido: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr "Difuso: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Sin traducir: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr "Pegar cadena original sin traducir como traducción"
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, 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:41
      msgid "XML PrettyPrinter"
      msgstr "PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Formatea XML y lo hace legible para humanos.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr "PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr "Ejecutar PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr "No se puede parsear el contenido como XML."
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr "Nodos vacíos"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr "Concatenación ( a )"
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr "Espaciado ( a )"
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr "Expansión ( a )"
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "Sangría"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "Espacio"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr "Cambio de línea"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      msgid "Project Organizer"
      msgstr "Organizador de proyectos"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      "Árbol de archivos del proyecto, indexado y búsqueda a lo ancho del proyecto, "
      "opciones de navegación extra (era GProject)"
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      msgid "Find in Project Files..."
      msgstr "Buscar en archivos del proyecto..."
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Buscar en archivos del proyecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      msgid "Find Project File..."
      msgstr "Buscar archivo de proyecto..."
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Buscar archivo de proyecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      msgid "Find Project Symbol..."
      msgstr "Buscar símbolo de proyecto..."
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      msgid "Find project symbol"
      msgstr "Buscar símbolo de proyecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr "Intercambiar cabecera/fuente"
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr "Intercambiar cabecera/fuente"
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr "Abrir archivo seleccionado (organizador de proyectos)"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr "Patrones de código:"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      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 utilizados para identificar "
      "archivos de código. Usado para el intercambio entre cabeceras y código."
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr "Patrones de cabecera:"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      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 para el intercambio entre cabeceras y código."
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr "Patrones de directorios ignorados:"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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 archivos "
      "que no se mostrarán en el árbol de proyectos."
      
      #: ../projectorganizer/src/prjorg-project.c:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr "Patrones de directorios ignorados:"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      msgid "Index all project files:"
      msgstr "Indexar todos los archivos del proyecto:"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr "Auto (indexar si hay menos de 300 archivos)"
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr "Sí"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      msgid "No"
      msgstr "No"
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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 símbolos para todos los archivos de proyecto en vez de "
      "solo para los archivos abiertos actualmente. Podría resultar lento para "
      "proyectos grandes."
      
      #: ../projectorganizer/src/prjorg-project.c:644
      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: los patrones afecta solo a la barra lateral y no se utilizan en el "
      "diálogo\n"
      "«Buscar en archivos». Puede restringir todavía más los archivos que "
      "pertenecen\n"
      "al proyecto ajustando «Patrones de archivo» en la pestaña «Proyecto» (estos\n"
      "también se utilizarán en el diálogo «Buscar en archivos»)."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:123
      msgid "Find File"
      msgstr "Buscar archivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr "Buscar en:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr "Buscar en la ruta completa"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      msgid "project or external directory"
      msgstr "proyecto o directorio externo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      msgid "Add External Directory"
      msgstr "Añadir directorio externo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      msgid "Add"
      msgstr "Añadir"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      msgid "Find Symbol"
      msgstr "Buscar símbolo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr "Tipo de coincidencia:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr "Configure patrones de archivo en «Proyecto->Propiedades»"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr "Recargar todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      msgid "Add external directory"
      msgstr "Añadir directorio externo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr "Colapsar hasta el proyecto raíz"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr "Seguir editor activo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr "Abra un proyecto para comenzar a utilizar el complemento"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      msgid "Find in Files..."
      msgstr "Buscar en archivos..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      msgid "Find File..."
      msgstr "Buscar archivo..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      msgid "Find Symbol..."
      msgstr "Buscar símbolo..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      msgid "Remove External Directory"
      msgstr "Eliminar directorio externo"
      
      #: ../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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Interfaz relativamente simple para GDB.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr "Configurar programa"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr "Ejecutar/continuar"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr "Ejecutar hasta origen"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr "Terminar"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr "Intercambiar punto de ruptura"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr "Comando GDB"
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr "Mostrar terminal"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr "Ocupado"
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr "Listo"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr "Colgar"
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr "Ensam"
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr "Cargar"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr "Activada la acción de compilación. ¿Terminar depuración?"
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr "Puntos de ruptura"
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr "Consola"
      
      #: ../scope/src/scope.c:525
      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: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"
      
      #: ../sendmail/src/sendmail.c:45
      msgid "SendMail"
      msgstr "SendMail"
      
      #: ../sendmail/src/sendmail.c:46
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Envía el archivo actual como adjunto mediante el cliente de correo preferido "
      "del usuario"
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "Dirección del destinatario"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "Introduzca la dirección e-mail del destinatario:"
      
      #: ../sendmail/src/sendmail.c:143
      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."
      
      #: ../sendmail/src/sendmail.c:149
      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."
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "No se ha podido ejecutar el programa de correo. Compruebe su configuración."
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "Primero debe definir un cliente de correo."
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "Debe guardar el archivo antes de enviar."
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "Enviar"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "Enviar por correo electrónico"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "Ruta y opciones del cliente de correo:"
      
      #: ../sendmail/src/sendmail.c:322
      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\""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "Mostrar icono en la barra de herramientas"
      
      #: ../sendmail/src/sendmail.c:334
      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."
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      "Usar un diálogo para introducir la dirección de correo de los destinatarios"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Enviar archivo por correo electrónico"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      "¡Se ha detectado un cambio de nombre!\n"
      "\n"
      "GeanySendMail ha sido renombrado a sendmail -- seguro que ya lo habrá "
      "visto.\n"
      "Geany es capaz de migrar la configuración del complemento viejo moviendo el "
      "archivo de configuración al nuevo lugar.\n"
      "¿Desa moverlo ahora?"
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      "Su directorio de configuración antiguo «%s» no se ha podido mover hacia "
      "«%s» (%s). Mueva manualmente su antiguo directorio a la nueva ubicación."
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "Enviar docu_mento"
      
      #: ../sendmail/src/sendmail.c:445
      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"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Intentar: "
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "Comprobando"
      
      #: ../spellcheck/src/speller.c:299
      #, 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:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Comprobando el archivo «%s» (usando %s):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "El texto comprobado es correcto."
      
      #: ../spellcheck/src/speller.c:345
      #, 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:346
      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:46
      msgid "Spell Check"
      msgstr "Corrección ortográfica"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Comprueba la ortografía del documento actual."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Ejecutar comprobación ortográfica"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Conmutar corrección al escribir"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Seleccionar directorio"
      
      #: ../spellcheck/src/scplugin.c:284
      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:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "Mostrar elemento de menú para mostrar sugerencias ortográficas"
      
      #: ../spellcheck/src/scplugin.c:293
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Mostrar sugerencias en un submenú del menú del editor"
      
      #: ../spellcheck/src/scplugin.c:308
      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:318
      msgid "Interface"
      msgstr "Interfaz"
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Corrección al escribir"
      
      #: ../spellcheck/src/scplugin.c:329
      msgid "Check spelling when opening a document"
      msgstr "Comprobar ortografía al abrir un 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 ""
      "Esta opción comprobará cada documento tras abrirlo en Geany. Recargar el "
      "documento también iniciará una comprobación."
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Idioma utilizado para la comprobación ortográfica:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "_Directorio en el que buscar archivos de diccionario:"
      
      #: ../spellcheck/src/scplugin.c:354
      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:385
      msgid "Behavior"
      msgstr "Comportamiento"
      
      #: ../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:41
      msgid "Shift Column"
      msgstr "Mover Columna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      "Mover la selección hacia izquierda y derecha.\n"
      "En este momento este plugin no tiene mantenedor. ¿Te gustaría ayudar a "
      "contribuir a este plugin?"
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "Mover a la Izquierda"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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 "Convierte listas en tablas en diferentes tipos de archivo"
      
      #: ../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 fue mal al parsear la selección. Deteniendo"
      
      #: ../tableconvert/src/tableconvert.c:328
      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
      msgid "_More TableConvert"
      msgstr "_Más 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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(Vacío)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, 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:1044
      msgid "NewDirectory"
      msgstr "NewDirectory"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "NewFile"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, 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:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "¿Está seguro de que desea eliminar «%s»?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      msgid "Go _Up"
      msgstr "S_ubir"
      
      #: ../treebrowser/src/treebrowser.c:1213
      msgid "Set _Path From Document"
      msgstr "_Fijar ruta del documento"
      
      #: ../treebrowser/src/treebrowser.c:1217
      msgid "_Open Externally"
      msgstr "_Abrir externamente"
      
      #: ../treebrowser/src/treebrowser.c:1222
      msgid "Open _Terminal"
      msgstr "Abrir _Terminal"
      
      #: ../treebrowser/src/treebrowser.c:1226
      msgid "Set as _Root"
      msgstr "Fijar como _raíz"
      
      #: ../treebrowser/src/treebrowser.c:1231
      msgid "Refres_h"
      msgstr "_Refrescar"
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr "_Buscar en archivos"
      
      #: ../treebrowser/src/treebrowser.c:1243
      msgid "N_ew Folder"
      msgstr "Carpeta nu_eva"
      
      #: ../treebrowser/src/treebrowser.c:1247
      msgid "_New File"
      msgstr "Archivo _nuevo"
      
      #: ../treebrowser/src/treebrowser.c:1251
      msgid "Rena_me"
      msgstr "Reno_mbrar"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Cerrar: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, c-format
      msgid "Clo_se Child Documents "
      msgstr "_Cerrar documentos hijo"
      
      #: ../treebrowser/src/treebrowser.c:1274
      msgid "_Copy Full Path to Clipboard"
      msgstr "_Copiar ruta completa al portapapeles"
      
      #: ../treebrowser/src/treebrowser.c:1283
      msgid "E_xpand All"
      msgstr "E_xpandir todos"
      
      #: ../treebrowser/src/treebrowser.c:1287
      msgid "Coll_apse All"
      msgstr "Col_apsar todos"
      
      #: ../treebrowser/src/treebrowser.c:1294
      msgid "Show Boo_kmarks"
      msgstr "Mostrar marca_dores"
      
      #: ../treebrowser/src/treebrowser.c:1299
      msgid "Sho_w Hidden Files"
      msgstr "Mostrar archivos _ocultos"
      
      #: ../treebrowser/src/treebrowser.c:1304
      msgid "Show Tool_bars"
      msgstr "Mostrar _barras de herramientas"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, 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:1743
      msgid "Go up"
      msgstr "Subir"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Refrescar"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Inicio"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Fijar ruta del documento"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr "Rastrear ruta"
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Ocultar barras"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra de direcciones, por ejemplo «/proyectos/mi-proyecto»"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr "Visor de árbol"
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Comando de apertura externa"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr "La terminal que se usará con el comando «Abrir terminal»"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr "Barra de herramientas"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Oculta"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Arriba"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "Abajo"
      
      #: ../treebrowser/src/treebrowser.c:1987
      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:1991
      msgid "Show icons"
      msgstr "Mostrar iconos"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Ninguno"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "Base"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "Tipo de contenido"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Mostrar archivos ocultos"
      
      #: ../treebrowser/src/treebrowser.c:2006
      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:2008
      msgid "Hide object files"
      msgstr "Ocultar archivos objeto"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr "Invertir filtro"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Seguir documento actual"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "Una sola pulsación abre el documento y lo enfoca"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Doble pulsación para abrir un directorio"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "Al borrar un archivo, cerrarlo si está abierto"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr "Enfocar el editor al abrir un archivo"
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Mostrar líneas de árbol"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Mostrar marcadores"
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr "Abrir archivos nuevos"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Enfocar lista de archivos"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "Enfocar entrada de ruta"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "Renombrar objeto"
      
      #: ../treebrowser/src/treebrowser.c:2143
      msgid "New File"
      msgstr "Archivo nuevo"
      
      #: ../treebrowser/src/treebrowser.c:2145
      msgid "New Folder"
      msgstr "Carpeta nueva"
      
      #: ../treebrowser/src/treebrowser.c:2149
      msgid "Track Current"
      msgstr "Rastrear ruta actual"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "Comprobador de actualizaciones"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr "Comprueba si hay actualizaciones de Geany disponibles"
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "Hay una versión más reciente de Geany disponible: %s"
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr "No hay versiones más recientes disponibles."
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      "No se ha podido comprobar la versión.\n"
      "Código de error: %d \n"
      "Mensaje de error: »%s«"
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr "Ejecutar comprobación de versión al arrancar"
      
      #: ../updatechecker/src/updatechecker.c:332
      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
      msgid "Bookmark this website"
      msgstr "Marcar este sitio web"
      
      #: ../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 "Información y ajustes del sitio web"
      
      #: ../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:49
      msgid "Web helper"
      msgstr "Ayudante 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 ""
      "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:140
      msgid "Web view"
      msgstr "Vista web"
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr "Vista previa web"
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr "Recargar un documento al guardar"
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr "Auto recargar navegador"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr "Recargar el navegador al guardar un archivo"
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr "Último URI del navegador"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr "Último URI visitado por el 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 "Orientación del navegador"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr "Orientación del componente de navegador"
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr "Posición del navegador"
      
      #: ../webhelper/src/gwh-plugin.c:342
      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:348
      msgid "Browser separate window geometry"
      msgstr "Geometría de la ventana del navegador separada"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr "Última geometría de la ventana de navegador separada"
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr "Geometría de la ventana del inspector"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr "Última geometría de la ventana del instpector"
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr "Inspector desacoplado"
      
      #: ../webhelper/src/gwh-plugin.c:361
      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:366
      msgid "Secondary windows skip task bar"
      msgstr "Las ventana secundarias no se muestran en la barra de tareas"
      
      #: ../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 si el gestor de ventanas debe mostrar o no las ventanas secundarias "
      "en la barra de tareas"
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr "Las ventanas secundarias son transitorias"
      
      #: ../webhelper/src/gwh-plugin.c:373
      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:378
      msgid "Secondary windows type"
      msgstr "Tipo de ventana secundaria"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr "El tipo de las ventanas secundarias"
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr "Conmutar inspector web"
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr "Mostrar/ocultar la ventana de vista web"
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr "Conmutar marcador para el sitio web actual"
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Navegador"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "Ventanas"
      
      #: ../workbench/src/dialogs.c:43
      msgid "Create new workbench"
      msgstr "Crear área de trabajo nuevo"
      
      #: ../workbench/src/dialogs.c:74
      msgid "Open workbench"
      msgstr "Abrir área de trabajo"
      
      #: ../workbench/src/dialogs.c:77
      msgid "_Open"
      msgstr "_Abrir"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr "Archivos de área de trabajo (.geanywb)"
      
      #: ../workbench/src/dialogs.c:113
      msgid "Add project"
      msgstr "Añadir proyecto"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr "_Añadir"
      
      #: ../workbench/src/dialogs.c:119
      msgid "Project files (.geany)"
      msgstr "Archivos de proyecto (.geany)"
      
      #: ../workbench/src/dialogs.c:150
      msgid "Add directory"
      msgstr "Añadir directorio"
      
      #: ../workbench/src/dialogs.c:218
      msgid "Directory settings"
      msgstr "Configuración del directorio"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr "_OK"
      
      #: ../workbench/src/dialogs.c:232
      msgid "File patterns:"
      msgstr "Patrones de archivo:"
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      "Lista de patrones separados por espacios, usados para identificar archivos "
      "que se mostrarán en el árbol de directorios."
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      "Lista de patrones separados por espacios, usados para identificar archivos "
      "que no se mostrarán en el árbol de directorios."
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be 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."
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      "Nota: los patrones indicados arriba solo afectan al directorio del área de "
      "trabajo y no se usarán en «Buscar en archivos»"
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr "Configuración del área de trabajo"
      
      #: ../workbench/src/dialogs.c:361
      msgid "Rescan all projects on open:"
      msgstr "Explorar todos los proyectos al abrir:"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      "Si la opción está activa (predet.) se explorarán todos los proyectos al "
      "abrir el área de trabajo."
      
      #: ../workbench/src/menu.c:95
      #, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "No se ha podido crear el archivo de área de trabajo nuevo: %s"
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr "No se ha podido abrir el archivo de área de trabajo: %s"
      
      #: ../workbench/src/menu.c:139
      #, c-format
      msgid "Could not save workbench file: %s"
      msgstr "No se ha podido guardar el archivo de área de trabajo: %s"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr "Área de trabajo"
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr "_Nuevo..."
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr "_Abrir..."
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr "_Guardar"
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      msgid "S_ettings"
      msgstr "Ajust_es"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      msgid "_Close"
      msgstr "_Cerrar"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      "Cree o abra un área de trabajo\n"
      "mediante el menú Área de trabajo."
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr "Gestionar y personalizar varios proyectos."
      
      #: ../workbench/src/popup_menu.c:232
      #, c-format
      msgid "Could not add project file: %s"
      msgstr "No se ha podido añadir el archivo de proyecto: %s."
      
      #: ../workbench/src/popup_menu.c:518
      msgid "_Add project..."
      msgstr "_Añadir proyecto..."
      
      #: ../workbench/src/popup_menu.c:524
      msgid "_Save project"
      msgstr "_Guardar proyecto"
      
      #: ../workbench/src/popup_menu.c:530
      msgid "_Remove project"
      msgstr "Elimina_r proyecto"
      
      #: ../workbench/src/popup_menu.c:536
      msgid "_Fold/unfold project"
      msgstr "C_olapsar/Desplegar proyecto"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr "A_brir todos lo archivos del proyecto"
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr "_Cerrar todos los archivos del proyecto"
      
      #: ../workbench/src/popup_menu.c:558
      msgid "_Add directory..."
      msgstr "_Añadir directorio..."
      
      #: ../workbench/src/popup_menu.c:564
      msgid "_Remove directory"
      msgstr "Eliminar_r directorio"
      
      #: ../workbench/src/popup_menu.c:570
      msgid "_Rescan directory"
      msgstr "Volve_r a explorar directorio"
      
      #: ../workbench/src/popup_menu.c:576
      msgid "_Directory settings"
      msgstr "Ajustes de _directorio"
      
      #: ../workbench/src/popup_menu.c:582
      msgid "_Fold/unfold directory"
      msgstr "C_olapsar/Desplegar directorio"
      
      #: ../workbench/src/popup_menu.c:588
      msgid "_Open all files in directory"
      msgstr "Abrir t_odos los archivos en el directorio"
      
      #: ../workbench/src/popup_menu.c:594
      msgid "_Close all files in directory"
      msgstr "_Cerrar todos los archivos en el directorio"
      
      #: ../workbench/src/popup_menu.c:604
      msgid "_Open all files in folder"
      msgstr "_Abrir todos los archivos en la carpeta"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr "_Cerrar todos los archivos en la carpeta"
      
      #: ../workbench/src/popup_menu.c:620
      msgid "_Expand all"
      msgstr "_Expandir todos"
      
      #: ../workbench/src/popup_menu.c:626
      msgid "_Collapse all"
      msgstr "_Colapsar todos"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr "_Añadir a marcadores de área de trabajo"
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr "_Añadir a marcadores de proyecto"
      
      #: ../workbench/src/popup_menu.c:648
      msgid "_Remove from Bookmarks"
      msgstr "Elimina_r de marcadores"
      
      #: ../workbench/src/sidebar.c:291
      msgid "Base dir"
      msgstr "Dir base"
      
      #: ../workbench/src/sidebar.c:324
      msgid "No directories"
      msgstr "No hay directorios"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr "No hay área de trabajo abierta."
      
      #: ../workbench/src/sidebar.c:598
      #, c-format
      msgid "%s: %u Projects"
      msgstr "%s: %u Proyectos"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      "Añadir un proyecto\n"
      "usando el menú contextual."
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      "%s\n"
      "No se ha encontrado el archivo de proyecto."
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      "Este proyecto no tiene directorios. Se pueden añadir directorios a un "
      "proyecto mediante el menú contextual."
      
      #: ../workbench/src/wb_project.c:942
      #, c-format
      msgid "Directory-Name: %s\n"
      msgstr "Nombre de directorio: %s\n"
      
      #: ../workbench/src/wb_project.c:943
      #, c-format
      msgid "Base-Directory: %s\n"
      msgstr "Directorio base: %s\n"
      
      #: ../workbench/src/wb_project.c:945
      msgid "File Patterns:"
      msgstr "Patrones de archivo:"
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr "Patrones de dir. ignorados:"
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr "Patrones de directorios ignorados:"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr "Número de subcarpetas: %u\n"
      
      #: ../workbench/src/wb_project.c:982
      #, c-format
      msgid "Number of Files: %u\n"
      msgstr "Número de archivos: %u\n"
      
      #: ../workbench/src/wb_project.c:1006
      #, c-format
      msgid "Project: %s\n"
      msgstr "Proyecto: %s\n"
      
      #: ../workbench/src/wb_project.c:1007
      #, c-format
      msgid "File: %s\n"
      msgstr "Archivo: %s\n"
      
      #: ../workbench/src/wb_project.c:1008
      #, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Número de directorios: %u\n"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      "\n"
      "El proyecto contiene cambios inseguros.\n"
      
      #: ../workbench/src/workbench.c:710
      #, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "El archivo «%s» no es un archivo de área de trabajo válido."
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr "Recortes XML"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Autocompleta etiquetas XML/HTML mediante recortes"
      
      #~ msgid "Create _new file"
      #~ msgstr "Crear archivo _nuevo"
      
      #~ msgid "E_xpand all"
      #~ msgstr "E_xpandir todos"
      
      #~ msgid "Create New File"
      #~ msgstr "Crear archivo nuevo"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Crear directorio nuevo"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "Llamar al visor de documentación para el símbolo actual."
      
      #~ msgid "Column mode, select to line / brace / anchor."
      #~ msgstr "Modo columna, seleccionar hasta la línea/corchete/ancla."
      
      #~ msgid "Insert/Fill columns with numbers."
      #~ msgstr "Insertar/Rellenar columnas con números"
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "Escriba y ejecute scripts Lua para comandos personalizados."
      
      #~ msgid "gpg encryption plugin for geany"
      #~ msgstr "complemento de criptografía gpg para geany"
      
      #~ msgid "Alternative project support."
      #~ msgstr "Soporte alternativo de proyectos"
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Interfaz hacia varios sistemas de control de versión."
      
      #~ msgid "Formats an XML and makes it human-readable."
      #~ msgstr "Formatea XML y lo hace legible para humanos."
      
      #~ msgid "Relatively simple GDB front-end."
      #~ msgstr "Interfaz relativamente sencilla para GDB."
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Mover Selección a la izquierda y a la derecha"
      
      #~ msgid "Delete"
      #~ msgstr "Eliminar"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #~ msgid "Failed to import manager module"
      #~ msgstr "No de ha podido importar el módulo de gestión"
      
      #~ msgid "Failed to retrieve PluginManager from manager module"
      #~ msgstr "Ha fallado la importación de PluginManager del módulo de gestión"
      
      #~ msgid "System plugin directory not found."
      #~ msgstr "No se ha encontrado el directorio de plugins del sistema."
      
      #~ msgid "Unable to instantiate new PluginManager"
      #~ msgstr "No se ha podido instanciar un nuevo PluginManager"
      
      #~ 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"
      
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "No se ha podido crear el directorio de plugins Python: %s: %s"
      
      #~ msgid "Python Plugin Manager"
      #~ msgstr "Gestor de plugins Python"
      
      #~ 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 "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 ""
      #~ "\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.32/po/ca.po0000644000175000017500000056170513204251613016063 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Marcadors"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "Afegits"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Diversos connectors per a Geany"
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr ""
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr "No s'ha pogut crear el directori de configuració de connectors."
      
      #: ../addons/src/addons.c:494
      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:498
      msgid "Sort documents by _name"
      msgstr "Ordena els documents per _nom"
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr "Ordena els documents per _ocurrències"
      
      #: ../addons/src/addons.c:505
      msgid "Sort the documents in the order of the document tabs"
      msgstr ""
      
      #: ../addons/src/addons.c:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:537
      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:543
      msgid "Show available Tasks in the Messages Window"
      msgstr ""
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr ""
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Mou el Cursor al final de la línia"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Orientació del navegador"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Cancel·la la la Selecció"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Predeterminat"
      
      #: ../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 ""
      
      #. 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:42
      msgid "Commander"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      msgid "Show Command Panel"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:776
      msgid "Show Command Panel (Commands Only)"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:780
      msgid "Show Command Panel (Files Only)"
      msgstr ""
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr "Depurador"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "Depuració"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Nom"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Valor"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Objectiu:"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr "Navega"
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr "Depurador:"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr "Arguments de la Línia d'Ordres"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "Variables d'Entorn"
      
      #. 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 "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:526
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "El programa ha rebut un senyal"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "El programa ha sortit amb el codi d'error \"%i\""
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      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:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr "S'ha produït un error en configurar GDB"
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      msgid "Target"
      msgstr "Objectiu"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "Punts de ruptura"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr "Pila de crides"
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr ""
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "Missatges del Depurador"
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "Executa / Continua"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "Atura"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr "Reinicia"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr "Pas avant"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr "Pas enrere"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "Afegeix / Suprimeix el punt de ruptura"
      
      #: ../debugger/src/keys.c:56
      #, 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:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Executa"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Preferències"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "Mode de dos quadres"
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr "Continua"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, 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:135
      #, 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:143
      #, 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:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr "Activa totes les pestanyes"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:145
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: no existeix el directori."
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      #, fuzzy
      msgid "Find Tag"
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:529
      #, fuzzy
      msgid "_Search for:"
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      #, fuzzy
      msgid "prefix"
      msgstr "Prefix base"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      #, fuzzy
      msgid "pattern"
      msgstr "Carta (8,5 x 11 polzades)"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "Sensible a m_ajúscules"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      #, fuzzy
      msgid "_Declaration"
      msgstr "Relacional"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      #, fuzzy
      msgid "Generate tags"
      msgstr "General"
      
      #: ../geanyctags/src/geanyctags.c:654
      #, fuzzy
      msgid "Find tag..."
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:659
      #, fuzzy
      msgid "Find tag"
      msgstr "Cerca el Següent"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "Document"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "No s'ha pogut llegir l'eixida de l'ordre"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Ordre 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Ordre 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w serà reemplaçat per la paraula actual\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "Selecció A_ddicional"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr "Modalitat de _Columna"
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr "Modalitat de columna"
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr "Selecciona Fins a la _Línia"
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr "Selecciona fins a la línia"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "Vés al Parèntesi _Corresponent"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "Vés al parèntesi corresponent"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      #, fuzzy
      msgid "Convert selection"
      msgstr "Converteix la selecció en una taula"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr "Generador de Documentació"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "No s'ha pogut carregar la configuració: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "No s'ha pogut desar la configuració: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, 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: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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "No s'ha pogut carregar el fitxer \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr "Actualitza els Fitxe_rs de Configuració"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr "Obre el _Manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      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:530
      msgid "_Documentation Generator"
      msgstr "Generador de _Documentació"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "General"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "De_sar el fitxer abans de generar la documentació"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipus de documentació"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr "Entorn global"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, 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:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Insereix Números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "Comptant..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "S'està preparant..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "Inserint..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "_Inici:"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "_Pas:"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Cartes:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "S_uperior"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "_Inferior"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "Prefix base"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr "Separació:"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "_Zero"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Subratlla el text seleccionat"
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centrat"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr "Escriu en majúscules la primera lletra de la frase"
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "Insereix Etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "Nom de l'etiqueta:"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "Insereix una Ordre"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "Nom de l'ordre:"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "Insereix Referència"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "Nom de la referència:"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "Referència E_stàndard"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Referència de _Pàgina"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Més"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "Nom del paquet:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr "Opcions del paquet:"
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "Benvolgut / Benvolguda"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Plantilla:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr "Predeterminat"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Article"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Informe"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Carta (8,5 x 11 polzades)"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Presentació"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Codificació:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "Definiu la codificació per al nou document"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr "Mida de la font"
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. 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 ""
      
      #. 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 ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr "Títol:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "Mida del paper:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr "Orientació del Paper:"
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr "Usa mode d'esborrany"
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "Executa l'assistent per a LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "Insereix \\label"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "Insereix \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "Insereix salt de línia \\\\"
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "Insereix una ordre"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Reemplaça els caràcters especials HTML"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "Insereix \\item"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr "Insereix \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../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/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 ""
      
      #: ../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}}}, 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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "_Assistent LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr "I_nsereix Caràcter E_special"
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Insert _Reference"
      msgstr "Insereix _Referència"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr "Insereix referències al document"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "Insereix E_tiqueta"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "Insereix _Entorn"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "Insereix P_aquet"
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Format"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "Mida de la font"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "_Reemplaçament de Caràcters Especials HTML"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "Reemplaçament en _Massa de Caràcters Especial HTML"
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "Activa/Desactiva el Reemplaçament de Caràcters Especials HTML"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "Insereix _Ordre"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr "Insereix referència B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      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 ""
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      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:381
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Obre un Fitxer"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Selecciona un Fitxer"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Navega..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Selecciona un Color"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Tria..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Tria la font"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Selecciona..."
      
      #: ../geanylua/glspi_sci.c:412
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:588
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:599
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:170
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:176
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr "Enregistra una _Macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr "Atura l'Enregistrament de la _Macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, un usuari de Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr "_Ignora"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr "Vés a l'inici de la línia"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr "Vés al Final de la Línia"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Encripta"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "Signa"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "Desencripta / Verifica"
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      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:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Projecte Nou"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "_Projecte"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Elimina el Pojecte"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Afegeix un Fitxer"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferències"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Amaga la Barra _Lateral"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      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:69
      #, 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:415
      msgid "GeanyPy"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "No s'han fet canvis."
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr "No hi ha cap historial disponible"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Esteu segurs de voler revertir: %s?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Esteu segurs de voler afegir: %s?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Esteu segurs de voler eliminar: %s?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Esteu segurs de voler actualitzar?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Estat"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Directori base"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Confirmació"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1901
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr "Annexar el menú a la barra d'eines"
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "Activa CVS"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "Activa GIT"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "Activa SVN"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "Activa SVK"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Activa Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Activa Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Diferències"
      
      #: ../geanyvc/src/geanyvc.c:2070
      msgid "Make a diff from the current active file"
      msgstr ""
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "_Reverteix"
      
      #: ../geanyvc/src/geanyvc.c:2078
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2087
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2100
      msgid "Shows the log of the current file"
      msgstr ""
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2105
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr ""
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Afegeix el fitxer al repositori."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Elimina el fitxer del repositori."
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Directori"
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "Directori _Base"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Mostra diferències entre fitxers"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Mostra diferències entre directoris"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Mostra diferències entre directoris base"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Mostra l'estat"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Actualitza el fitxer"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "Control de _Versions"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "_Estat"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Mostra l'estat."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Actualitza des dels repositoris."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "Publica els _canvis"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Publica els canvis."
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "No s'ha pogut obrir el fitxer de script."
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      #, 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:844
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "No s'ha pogut obrir el fitxer de script."
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr "El camp del nom de l'autor és buit!"
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr "Introduïu el nom de l'autor: "
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, 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:1411 ../pohelper/src/gph-plugin.c:1620
      #, 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:1414 ../pohelper/src/gph-plugin.c:1623
      #, 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:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Vés a la pàgina anterior"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Vés a la pàgina següent"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Elimina un Fitxer"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "Elimina un Fitxer"
      
      #: ../lineoperations/src/lineoperations.c:263
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Elimina un Fitxer"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Operació binària"
      
      #: ../lineoperations/src/lineoperations.c:320
      #, fuzzy
      msgid "Line Operations"
      msgstr "Operació binària"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      #, fuzzy
      msgid "Lipsum"
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Introduïu la longitud del text Lipsum"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      #, fuzzy
      msgid "_Lipsum..."
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Insereix text Lipsum"
      
      #. 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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      #, fuzzy
      msgid "Save HTML File As"
      msgstr "Desa el Fitxer"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "Afegeix un Fitxer"
      
      #: ../markdown/src/plugin.c:322
      #, fuzzy, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "No s'ha pogut carregar el fitxer \"%s\": %s"
      
      #: ../multiterm/src/config.vala:47
      #, 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
      #, 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
      #, fuzzy
      msgid "Move to message window"
      msgstr "finestra-de-missatges"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "barra lateral"
      
      #: ../multiterm/src/context-menu.vala:81
      #, fuzzy
      msgid "Open Tab"
      msgstr "Obre el terminal"
      
      #: ../multiterm/src/context-menu.vala:96
      #, fuzzy
      msgid "Open Window"
      msgstr "Finestra _Nova"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      #, fuzzy
      msgid "Previous tab"
      msgstr "Cerca l'Anterior"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Mostra l'estat"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      #, 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
      #, fuzzy
      msgid "New terminal"
      msgstr "Mostra el terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      #, fuzzy
      msgid "Terminal"
      msgstr "Finalitza"
      
      #: ../multiterm/src/tab-label.vala:84
      #, fuzzy
      msgid "Close terminal"
      msgstr "Mostra el terminal"
      
      #: ../multiterm/src/terminal.vala:88
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "No s'ha pogut escriure la configuració per defecte: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      #, fuzzy
      msgid "Go To Matching Tag"
      msgstr "Vés al Parèntesi _Corresponent"
      
      #: ../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:1524
      #, 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:1527
      #, 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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      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:1554
      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:1560
      #, 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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "Sagnat"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "Espai"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr "Salt de línia"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Preferències del Projecte"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Cerca en els Fitxers del Projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Cerca en els fitxers del projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Cerca el Fitxer del Projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Cerca el fitxer del projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Cerca el Fitxer del Projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Cerca el fitxer del projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr "Patrons de fitxers de codi font:"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr "Patrons de fitxers de capçalera:"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "Patrons de fitxers de codi font:"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "Patrons de fitxers de capçalera:"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Cerca en els fitxers del projecte"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      #, fuzzy
      msgid "Yes"
      msgstr "sí"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      #, fuzzy
      msgid "No"
      msgstr "No."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      msgid "Find File"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      #, fuzzy
      msgid "project or external directory"
      msgstr "Crea un directori nou"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Selecciona el Directori"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      #, fuzzy
      msgid "Add"
      msgstr "Afegits"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      msgid "Find Symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr "Actualitza tot"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      #, fuzzy
      msgid "Add external directory"
      msgstr "Crea un directori nou"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Expandeix-ho tot"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "Expandeix-ho Tot"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Cerca en els Fitxers"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      #, fuzzy
      msgid "Find File..."
      msgstr "Cerca en els Fitxers"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Cerca en els Fitxers"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      #, 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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr "Executa/continua"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr ""
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr "Finalitza"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr "Commuta el punt de ruptura"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr "ordre GDB"
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr "Mostra el terminal"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr "Ocupat"
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr "Preparat"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr "Penja"
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr "Carrega"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr "Consola"
      
      #: ../scope/src/scope.c:525
      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: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"
      
      #: ../sendmail/src/sendmail.c:45
      #, fuzzy
      msgid "SendMail"
      msgstr "Envia per correu"
      
      #: ../sendmail/src/sendmail.c:46
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "Adreça del Destinatari"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "Introduïu l'adreça electrònica del destinatari:"
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "Correu"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "Envia per correu"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "Ruta i opcions per al programa de correu:"
      
      #: ../sendmail/src/sendmail.c:322
      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 ""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "Mostra les icones de les barres d'eines"
      
      #: ../sendmail/src/sendmail.c:334
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Envia el fitxer per correu"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "Envia el docu_ment per correu electrònic"
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Prova:"
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "Verificant"
      
      #: ../spellcheck/src/speller.c:299
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr "Verifica l'Ortografia"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Comprova l'ortografia del document actual."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Executa la Comprovació Ortogràfica"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Selecciona el Directori"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:293
      #, 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:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:318
      #, fuzzy
      msgid "Interface"
      msgstr "Inspecciona"
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Verifica l'ortografia a mesura que escric"
      
      #: ../spellcheck/src/scplugin.c:329
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Verifica l'ortografia a mesura que escric"
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "_Directori per als fitxers de diccionari:"
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:385
      #, 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:41
      msgid "Shift Column"
      msgstr "Desplaça la Columna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:328
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(Buit)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, 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:1044
      msgid "NewDirectory"
      msgstr "NouDirectori"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "NouFitxer"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Esteu segurs de voler eliminar '%s'?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      #, fuzzy
      msgid "Go _Up"
      msgstr "Mou Am_unt"
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "Especifica el directori pel document"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "Obre externament"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "Obre el terminal"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "Instal·la com a superusuari"
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "Actualitza"
      
      #: ../treebrowser/src/treebrowser.c:1235
      #, fuzzy
      msgid "_Find in Files"
      msgstr "Cerca en els Fitxers"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Selecciona Directory"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "NouFitxer"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "Reanomena"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Tanca: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "Tanca els Documents Fills"
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "Copia la ruta completa al porta-retalls"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Expandeix-ho Tot"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Tanca-ho Tot"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "Mostra les adreces d'interès"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Mostra els fitxers ocults"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "Mostra les barres d'eines"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, 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:1743
      msgid "Go up"
      msgstr "Vés cap a dalt"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Actualitza"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Inici"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Especifica el directori pel document"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Amaga les barres"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Ordre externa per obrir"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr "Barra d'Eines"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Ocult"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Part superior"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "Part inferior"
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Show icons"
      msgstr "Mostra les icones"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Cap"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "Base"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "Tipus de continguts"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Mostra els fitxers ocults"
      
      #: ../treebrowser/src/treebrowser.c:2006
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2008
      msgid "Hide object files"
      msgstr "Amaga els fitxers objecte"
      
      #: ../treebrowser/src/treebrowser.c:2013
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2015
      msgid "Reverse filter"
      msgstr "Inverteix el filtre"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Segueix el document actual"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Doble clic obre els directoris"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Mostra les línies de l'arbre"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Mostra les adreces d'interès"
      
      #: ../treebrowser/src/treebrowser.c:2057
      #, fuzzy
      msgid "Open new files"
      msgstr "Obre un Fitxer"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Enfoca la Llista de Fitxers"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "Reanomena Objecte"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "NouFitxer"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Selecciona Directory"
      
      #: ../treebrowser/src/treebrowser.c:2149
      msgid "Track Current"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:194
      #, 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:202
      #, fuzzy
      msgid "No newer Geany version available."
      msgstr "Hi ha disponible una versió més recent disponible"
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr "Executa updatecheck a l'inici"
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr "Vista Web"
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr "Previsualització Web"
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Mostra les adreces d'interès"
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr "Orientació del navegador"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr "Posició de l'explorador"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr "Habilita l'Inspector Web"
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr "Mostra/amaga la Finestra de Vista Web"
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Explorador"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "Finestres"
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Crea un directori nou"
      
      #: ../workbench/src/dialogs.c:74
      #, fuzzy
      msgid "Open workbench"
      msgstr "Obre a"
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "Obre a"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Cerca el fitxer del projecte"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "El projecte \"%s\" ja existeix"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Crea un directori nou"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "Paràmetres d'entorn"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      #, fuzzy
      msgid "_OK"
      msgstr "_D'acord"
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "Patrons de fitxers de codi font:"
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      #, fuzzy
      msgid "Workbench settings"
      msgstr "Paràmetres d'entorn"
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "Cerca en els fitxers del projecte"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, c-format
      msgid "Could not create new workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr "No s'ha pogut desar la configuració: %s"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "Preferències"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "Tanca: %s"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "Cerca en els fitxers del projecte"
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Cerca el Fitxer del Projecte"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Projecte Nou"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Reanomena Objecte"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "Cerca el fitxer del projecte"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "Crea un directori nou"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Selecciona el Directori"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Directori _Base"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "_Directori"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "Mostra diferències entre directoris"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "%s: no existeix el fitxer o directori"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "Crea un directori nou"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "Obre un fitxer de signatura"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "Expandeix-ho tot"
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "Tanca-ho Tot"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "_Suprimeix l'adreça d'interès"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "Base"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "NouDirectori"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Projecte"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "_Directori"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "Directori _Base"
      
      #: ../workbench/src/wb_project.c:945
      #, fuzzy
      msgid "File Patterns:"
      msgstr "Patrons de fitxers de codi font:"
      
      #: ../workbench/src/wb_project.c:957
      #, fuzzy
      msgid "Ignored Dir. Patterns:"
      msgstr "Patrons de fitxers de codi font:"
      
      #: ../workbench/src/wb_project.c:969
      #, fuzzy
      msgid "Ignored File Patterns:"
      msgstr "Patrons de fitxers de codi font:"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, fuzzy, c-format
      msgid "Number of Files: %u\n"
      msgstr "Número de volum"
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Projecte"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Tanca: %s"
      
      #: ../workbench/src/wb_project.c:1008
      #, fuzzy, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Número de volum"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, fuzzy, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "El fitxer \"%s\" existeix però no és un fitxer normal"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "Crea un nou fitxer"
      
      #, fuzzy
      #~ msgid "E_xpand all"
      #~ msgstr "Expandeix-ho tot"
      
      #~ msgid "Create New File"
      #~ msgstr "Crea un Fitxer Nou"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Crea un Directori Nou"
      
      #~ msgid "Delete"
      #~ msgstr "Elimina"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #, fuzzy
      #~ msgid "System plugin directory not found."
      #~ msgstr "No s'ha trobat el directori %s!\n"
      
      #, fuzzy
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "No s'ha pogut crear el directori de configuració '%s'"
      
      #~ 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 ""
      #~ "\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.32/po/POTFILES.skip0000644000175000017500000000036413132733713017250 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.32/po/POTFILES.in0000644000175000017500000001604413171306761016714 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
      
      # 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
      
      # 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
      
      # Keyrecord
      keyrecord/src/keyrecord.c
      
      # LineOperations
      lineoperations/src/lineoperations.c
      
      # lipsum
      lipsum/src/lipsum.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
      
      # sendmail
      sendmail/src/sendmail.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
      
      # workbench
      workbench/src/dialogs.c
      workbench/src/menu.c
      workbench/src/plugin_main.c
      workbench/src/popup_menu.c
      workbench/src/sidebar.c
      workbench/src/utils.c
      workbench/src/wb_globals.c
      workbench/src/wb_project.c
      workbench/src/workbench.c
      
      # XMLSnippets
      xmlsnippets/src/plugin.c
      xmlsnippets/src/xmlsnippets.c
      xmlsnippets/src/tests.c
      xmlsnippets/src/test-stubs.c
      geany-plugins-1.32/po/be.po0000644000175000017500000053063613204251613016065 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr ""
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr ""
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr ""
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr ""
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr ""
      
      #: ../addons/src/addons.c:494
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      
      #: ../addons/src/addons.c:498
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:505
      msgid "Sort the documents in the order of the document tabs"
      msgstr ""
      
      #: ../addons/src/addons.c:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr ""
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr ""
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr ""
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Выдаліць праэкт"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      msgid "Improved auto-indentation"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Выдаліць праэкт"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr ""
      
      #: ../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 ""
      
      #. 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:42
      #, fuzzy
      msgid "Commander"
      msgstr "Каманда 0:"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      #, fuzzy
      msgid "Show Command Panel"
      msgstr "Каманда 0:"
      
      #: ../commander/src/commander-plugin.c:776
      #, fuzzy
      msgid "Show Command Panel (Commands Only)"
      msgstr "Каманда 0:"
      
      #: ../commander/src/commander-plugin.c:780
      #, fuzzy
      msgid "Show Command Panel (Files Only)"
      msgstr "Каманда 0:"
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr ""
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr ""
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      #, fuzzy
      msgid "Name"
      msgstr "Імя:"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr ""
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr ""
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr ""
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      #, fuzzy
      msgid "Command Line Arguments"
      msgstr "Каманда 0:"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr ""
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:259 ../debugger/src/envtree.c:365
      #: ../debugger/src/debug.c:263
      #, 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:526
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      msgid "Target"
      msgstr ""
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr ""
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr ""
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr ""
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr ""
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr ""
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr ""
      
      #: ../debugger/src/keys.c:56
      msgid "Jump to the current instruction"
      msgstr ""
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr ""
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      #, fuzzy
      msgid "Toggle documentation tab"
      msgstr "Інтэрактыўная даведка"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      #, 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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:529
      msgid "_Search for:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      msgid "pattern"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      #, fuzzy
      msgid "_Declaration"
      msgstr "Лакацыя:"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      msgid "Generate tags"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:654
      #, fuzzy
      msgid "Find tag..."
      msgstr "Дадаць файл"
      
      #: ../geanyctags/src/geanyctags.c:659
      #, fuzzy
      msgid "Find tag"
      msgstr "Дадаць файл"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "Даведка"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Немагчыма прааналізаваць вывад каманды"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "Выводзіць у буфер"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Каманда 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Каманда 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w будзе заменены на слова, на якім засяроджаны курсор\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "Даведка па слове, на якім засяроджаны курсор"
      
      #: ../geanydoc/src/geanydoc.c:435
      #, 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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:519
      #, fuzzy
      msgid "Select to line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      #, fuzzy
      msgid "Convert selection"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      #, fuzzy
      msgid "Select to _Anchor"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyextrasel/src/extrasel.c:546
      #, fuzzy
      msgid "Select to anchor"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      #, fuzzy
      msgid "Documentation Generator"
      msgstr "Інтэрактыўная даведка"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      #, fuzzy
      msgid "_Document Current Symbol"
      msgstr "Даведка па слове, на якім засяроджаны курсор"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      #, fuzzy
      msgid "Generate documentation for the current symbol"
      msgstr "Паказаць даведку па слове, на якім засяроджаны курсор."
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr ""
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      #, fuzzy
      msgid "_Documentation Generator"
      msgstr "Інтэрактыўная даведка"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr ""
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      #, fuzzy
      msgid "Documentation type"
      msgstr "Інтэрактыўная даведка"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      #, fuzzy
      msgid "Insert Numbers"
      msgstr "Наладкі"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:364
      #, fuzzy
      msgid "_Base:"
      msgstr "Базавы шлях:"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:479
      #, 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:115
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:858
      #, fuzzy
      msgid "Command name:"
      msgstr "Каманда 0:"
      
      #: ../geanylatex/src/geanylatex.c:901
      #, fuzzy
      msgid "Insert Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:914
      #, fuzzy
      msgid "Reference name:"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:939
      #, fuzzy
      msgid "_Standard Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:944
      #, fuzzy
      msgid "_Page Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1266
      #, fuzzy
      msgid "Insert BibTeX Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:1279
      #, fuzzy
      msgid "BibTeX reference name:"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr ""
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr ""
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr ""
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      #, fuzzy
      msgid "Date:"
      msgstr "Імя:"
      
      #: ../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 ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2004
      #, fuzzy
      msgid "Insert BibTeX reference dialog"
      msgstr "Наладкі"
      
      #: ../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/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 ""
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2161
      #, fuzzy
      msgid "Insert _Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2184
      #, fuzzy
      msgid "Insert P_ackage"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr ""
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2291
      #, fuzzy
      msgid "Insert B_ibTeX reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      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 ""
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      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:381
      msgid "_Lua Scripts"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:412
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:588
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:599
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:170
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:176
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      #, 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:2261
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Наладкі праэкта"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Новы Праэкт"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "Праэкт"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      #, fuzzy
      msgid "Add File"
      msgstr "Дадаць файл"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Наладкі"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Схаваць сайдбар"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr "Праэкт"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Праэкт \"%s\" адчынен."
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:415
      msgid "GeanyPy"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1901
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2070
      msgid "Make a diff from the current active file"
      msgstr ""
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2078
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2087
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2100
      msgid "Shows the log of the current file"
      msgstr ""
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2105
      msgid "_Original"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr ""
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr ""
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr ""
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr ""
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      msgid "Failed to paste the code"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:914
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "Выдаліць праэкт"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      msgid "Go to the previous hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      msgid "Go to the next hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Выдаліць файл"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "Выдаліць файл"
      
      #: ../lineoperations/src/lineoperations.c:263
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Выдаліць файл"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      msgid "_Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:320
      msgid "Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      msgid "Lipsum"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      msgid "_Lipsum..."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      #, fuzzy
      msgid "Save HTML File As"
      msgstr "Выдаліць файл"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "Дадаць файл"
      
      #: ../markdown/src/plugin.c:322
      #, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:47
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #, fuzzy
      msgid "Move to message window"
      msgstr "Выдаліць праэкт"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "Схаваць сайдбар"
      
      #: ../multiterm/src/context-menu.vala:81
      msgid "Open Tab"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:96
      msgid "Open Window"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      #, fuzzy
      msgid "Previous tab"
      msgstr "Знайсьці і праэкце"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      msgid "Show Tabs"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      msgid "Unable to locate default shell in configuration file"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:202
      msgid "New terminal"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      msgid "Terminal"
      msgstr ""
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr ""
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      msgid "Unable to run command: %s"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching 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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      #, 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:1554
      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:1560
      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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:40
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Наладкі праэкта"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      #, fuzzy
      msgid "Find in project files"
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      #, fuzzy
      msgid "Find project file"
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:634
      msgid "No"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      #, fuzzy
      msgid "Find File"
      msgstr "Дадаць файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      #, fuzzy
      msgid "project or external directory"
      msgstr "Выдаліць праэкт"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Выдаліць праэкт"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      msgid "Add"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Дадаць файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      #, fuzzy
      msgid "Add external directory"
      msgstr "Выдаліць праэкт"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      #, fuzzy
      msgid "Find File..."
      msgstr "Дадаць файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Дадаць файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      #, 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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr ""
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr ""
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr ""
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr ""
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr ""
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr ""
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr ""
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      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: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:"
      
      #: ../sendmail/src/sendmail.c:45
      msgid "SendMail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:46
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr ""
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:322
      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 ""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:334
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:179
      #, fuzzy
      msgid "Try: "
      msgstr "Тып:"
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:299
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      #, fuzzy
      msgid "Select Directory"
      msgstr "Выдаліць праэкт"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:293
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:329
      msgid "Check spelling when opening a document"
      msgstr ""
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:385
      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:41
      msgid "Shift Column"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      msgid "LaTeX"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:328
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1044
      #, fuzzy
      msgid "NewDirectory"
      msgstr "Выдаліць праэкт"
      
      #: ../treebrowser/src/treebrowser.c:1046
      #, fuzzy
      msgid "NewFile"
      msgstr "Дадаць файл"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1209
      msgid "Go _Up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1213
      msgid "Set _Path From Document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1217
      msgid "_Open Externally"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1222
      msgid "Open _Terminal"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1226
      msgid "Set as _Root"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1231
      msgid "Refres_h"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1235
      #, fuzzy
      msgid "_Find in Files"
      msgstr "Знайсьці і праэкце"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Выдаліць праэкт"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "Дадаць файл"
      
      #: ../treebrowser/src/treebrowser.c:1251
      msgid "Rena_me"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, c-format
      msgid "Clo_se Child Documents "
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1274
      msgid "_Copy Full Path to Clipboard"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1283
      msgid "E_xpand All"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1287
      msgid "Coll_apse All"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1294
      msgid "Show Boo_kmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Знайсьці і праэкце"
      
      #: ../treebrowser/src/treebrowser.c:1304
      msgid "Show Tool_bars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1763
      #, fuzzy
      msgid "Track path"
      msgstr "Базавы шлях:"
      
      #: ../treebrowser/src/treebrowser.c:1768
      #, fuzzy
      msgid "Hide bars"
      msgstr "Схаваць сайдбар"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Show icons"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1994
      #, fuzzy
      msgid "Base"
      msgstr "Базавы шлях:"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2006
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2008
      msgid "Hide object files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2013
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2015
      #, fuzzy
      msgid "Reverse filter"
      msgstr "Выдаліць файл"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "Дадаць файл"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Выдаліць праэкт"
      
      #: ../treebrowser/src/treebrowser.c:2149
      #, fuzzy
      msgid "Track Current"
      msgstr "Базавы шлях:"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "List of bookmarks"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr ""
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/dialogs.c:74
      msgid "Open workbench"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:77
      msgid "_Open"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Знайсьці і праэкце"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "Файл праэкта \"%s\" ужо існуе"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:232
      msgid "File patterns:"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "Знайсьці і праэкце"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, c-format
      msgid "Could not create new workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:139
      #, c-format
      msgid "Could not save workbench file: %s"
      msgstr ""
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      msgid "S_ettings"
      msgstr ""
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      msgid "_Close"
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "Знайсьці і праэкце"
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Знайсьці і праэкце"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Новы Праэкт"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "Знайсьці і праэкце"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/popup_menu.c:576
      msgid "_Directory settings"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:582
      msgid "_Fold/unfold directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/popup_menu.c:604
      msgid "_Open all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      msgid "_Expand all"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:626
      msgid "_Collapse all"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      msgid "_Remove from Bookmarks"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "Базавы шлях:"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "Выдаліць праэкт"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Праэкт"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, c-format
      msgid "Directory-Name: %s\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "Выдаліць праэкт"
      
      #: ../workbench/src/wb_project.c:945
      msgid "File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, c-format
      msgid "Number of Files: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Праэкт"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Дадаць файл"
      
      #: ../workbench/src/wb_project.c:1008
      #, c-format
      msgid "Number of Directories: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "Выдаліць праэкт"
      
      #, fuzzy
      #~ msgid "Create New File"
      #~ msgstr "Выдаліць праэкт"
      
      #, fuzzy
      #~ msgid "Create New Directory"
      #~ msgstr "Выдаліць праэкт"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "Паказаць даведку па слове, на якім засяроджаны курсор."
      
      #~ msgid "Alternative project support."
      #~ msgstr "Альтэрнатыўная падтрымка праэкта"
      
      #, fuzzy
      #~ msgid "Delete"
      #~ 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.32/po/it.po0000644000175000017500000066654113204251613016120 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Segnalibri"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "Addons"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Alcuni piccoli addon per Geany."
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "Imposta il focus sulla lista dei Segnalibri"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Imposta il focus sulla lista dei Task"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Aggiorna la lista dei Task"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "Esegui XML tagging"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr "La cartella della configurazione dei plugin non può essere creata."
      
      #: ../addons/src/addons.c:494
      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:498
      msgid "Sort documents by _name"
      msgstr "Ordina i documenti in base al _nome"
      
      #: ../addons/src/addons.c:500
      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:503
      msgid "Sort documents by _occurrence"
      msgstr "Ordina i documenti in base alle _occorrenze"
      
      #: ../addons/src/addons.c:505
      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:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Ordina i documenti in base alle _occorrerze (invertito)"
      
      #: ../addons/src/addons.c:510
      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:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Visualizza un 'Apri URI' nel menù dell'editor"
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Visualizza i Task disponibili nella finestra Messaggi"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Visualizza i Task di tutti i documenti"
      
      #: ../addons/src/addons.c:553
      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:560
      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:562
      msgid "Search tokens:"
      msgstr "Token di ricerca:"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Visualizza icona status nell'area notifiche"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Visualizza i segnalibri (linee contrassegnate) nella barra laterale"
      
      #: ../addons/src/addons.c:591
      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:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "Elimina linee vuote finali"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "XML tagging per selezione"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr "Racchiudi selezione con combinazione di tasti"
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr "Racchiudi selezione automaticamente (senza premere una combinazione)"
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr "Auto-chiusura"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr "Auto-chiudi parentesi con molte funzioni"
      
      #: ../autoclose/src/autoclose.c:1032
      #, fuzzy
      msgid "Auto-close quotes and brackets"
      msgstr "Auto-chiudi parentesi con molte funzioni"
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "Non impostare alcuna codifica"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Muovi il cursore a fine riga"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Orientazione browser"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      #, fuzzy
      msgid "Suppress double-completion"
      msgstr "Modo di autocompletamento"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Elimina selezione"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "Imposta selezione un livello sotto"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      #, fuzzy
      msgid "Enclose selections in strings and comments"
      msgstr "Racchiudi selezione con combinazione di tasti"
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr "Estensioni implementate"
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr "Estensioni delle intestazioni"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Default"
      
      #: ../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 ""
      
      #. 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:42
      msgid "Commander"
      msgstr "Comandante"
      
      #: ../commander/src/commander-plugin.c:43
      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:772
      msgid "Show Command Panel"
      msgstr "Visualizza pannello comandi"
      
      #: ../commander/src/commander-plugin.c:776
      #, fuzzy
      msgid "Show Command Panel (Commands Only)"
      msgstr "Visualizza pannello comandi"
      
      #: ../commander/src/commander-plugin.c:780
      #, fuzzy
      msgid "Show Command Panel (Files Only)"
      msgstr "Visualizza pannello comandi"
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr "Debugger"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr "Diverse integrazioni con i debuggers."
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "Debug"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Nome"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Valore"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr "Scegli il file target"
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Target:"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr "Sfoglia"
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr "Debugger:"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr "Parametri linea di comando"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "Variabili d'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 "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:526
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Il programma ha ricevuto un segnale"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Programma terminato con codice \"%i\""
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr "Impossibile avviare il processo gdb"
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Caricamento file target.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:784
      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:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr "Errore nella configurazione di GDB"
      
      #: ../debugger/src/dbm_gdb.c:835
      #, 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:67
      #, 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:131
      msgid "Target"
      msgstr "Target"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "Breakpoint"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr "Watch"
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr "Auto"
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr "Stack di chiamata"
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr "Terminale di Debug"
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "Messaggi dal debugger"
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "Esegui / Continua"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "Ferma"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr "Riavvia"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr "Entra (step into)"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr "Scavalca (step over)"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr "Esci (step out)"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr "Esegui al cursore"
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "Aggiungi / Rimuovi breakpoint"
      
      #: ../debugger/src/keys.c:56
      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:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      "Per modificare i file sorgenti interrompi la sessione di debug corrente"
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Esegui"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Impostazioni"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "Modalità due pannelli"
      
      #: ../debugger/src/btnpanel.c:153
      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:55
      msgid "Define formatter"
      msgstr "Define formatter"
      
      #: ../defineformat/src/defineformat.c:56
      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: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 ""
      "Aggiunge supporto per la ricerca nella documentazione in Devhelp, paginedel "
      "manuale e Google Code Search in una finestra integrata."
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Impossibile creare la directory di configurazione '%s'"
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Impossibile leggere la configurazione di default: %s"
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Impossibile scrivere la configurazione di default: %s"
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr "Mostra/Nascondi il tab contenuti nella barra laterale"
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr "Mostra/Nascondi il tab ricerca nella barra laterale"
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr "Mostra/Nascondi il tab dcoumentazione nella barra laterale"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr "Attiva tutti i tab"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr "Cerca per il tag corrente in Devhelp"
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      #, fuzzy
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "Plugin per la crittografia gpg in Geany"
      
      #: ../geanyctags/src/geanyctags.c:145
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: directory non trovata."
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      #, fuzzy
      msgid "Find Tag"
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:529
      #, fuzzy
      msgid "_Search for:"
      msgstr "Cerca per:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      #, fuzzy
      msgid "prefix"
      msgstr "_Prefisso base"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      #, fuzzy
      msgid "pattern"
      msgstr "Lettera"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "C_ase sensitive"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      #, fuzzy
      msgid "_Declaration"
      msgstr "Relazionale"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      #, fuzzy
      msgid "Generate tags"
      msgstr "Generale"
      
      #: ../geanyctags/src/geanyctags.c:654
      #, fuzzy
      msgid "Find tag..."
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:659
      #, fuzzy
      msgid "Find tag"
      msgstr "Trova successivo"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Impossibile analizzare l'output del comando"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "Metti l'output nel buffer"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Comando 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Comando 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w sarà sostituito dalla parola corrente\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "Parola corrente del documento"
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "Selezione e_xtra"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr "Modalità _Colonna"
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr "Modalità Colonna"
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr "Seleziona alla _linea"
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr "Seleziona alla linea"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "Seleziona alla _parentesi corrispondente"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "Seleziona alla parentesi corrispondente"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr "_Commuta Flusso/Rettangolare"
      
      #: ../geanyextrasel/src/extrasel.c:531
      msgid "Convert selection"
      msgstr "Converti selezione"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr "Impo_sta Àncora"
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr "Imposta Àncora"
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr "Seleziona all'_Àncora"
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr "Seleziona all'Àncora"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr "Selezione _Rettangolare all'Ancora"
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr "Documentation Generator"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr "Genera la documentazione basandosi sul codice"
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Impossibile caricare la configurazione: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Impossibile salvare la configurazione: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, 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: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 ""
      "# 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:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "Impossibile caricare il file \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr "Inserisci commento di documentazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr "Inserisci _documentazione al simbolo corrente"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr "Genera documentazione per il simbolo corrente"
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr "Documenta _tutti i simboli"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      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:508
      msgid "_Reload Configuration Files"
      msgstr "_Ricarica il file di configurazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Forza il reloading dei file di configurazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "_Modifica la configurazione del linguaggio corrente"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr "Apri la configurazione del linguaggio corrente per la modifica"
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr "Apri _manuale"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "Apri il manuale nel browser"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr "_Documentation Generator"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Generale"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "_Salva il file prima di generare la documentazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr "_Indenta la documentazione inserita"
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      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:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo di documentazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr "Ambiente globale"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      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:202 ../geanygendoc/src/ggd-utils.c:213
      #, 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:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Inserisci numeri"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "Conteggio..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "Preparazione..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "Inserimento..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr "Per base 11 e superiori"
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "_Avvia:"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "S_tep:"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Lettere:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "_Alto"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "_Basso"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "_Prefisso base"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 per ottale, 0x per esadecimale, + per decimali positivi"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr "Padding:"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "Sp_azio"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "_Zero"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr "Esegui wizard LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "Imposta il testo selezionato come corsivo"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Imposta ilt esto selezionato come grassetto"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Sottolinea il testo selezionato"
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centrato"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "A sinistra"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "A destra"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "Utilizza lo script KOMA di default"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "Visualizza una extra-toolbar per il plugin"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr "Rendi maiuscola la prima lettera mentre scrivi"
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr "Aggiungi un'icona wizard al toolbar principale di Geany"
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      "Passare la selezione in minuscono quando è formattata in maiuscoletto "
      "(\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:309
      #, fuzzy
      msgid "Don't care about this inside plugin"
      msgstr "Non interessarti di questo per il plugin"
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Esegui sempre l'autocompletamento in LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr "Modo di autocompletamento"
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "Inserisci etichetta"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "Nome etichetta"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "Inserisci comando"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "Nome comando:"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "Inserisci Riferimento"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "Nome Riferimento:"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "Riferimento _Standard"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Riferimento _Pagina"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr "_Aggiungi entrambi"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "More"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr "Aggiungi package aggiuntivo"
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "Nome package:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr "Opzioni package:"
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr "Inserisci riferimento BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr "Nome riferimento BibTeX:"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "Gentile Signore o Signora"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "Cordiali saluti"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr "Nessun template assignato. Aborting"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Template:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      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:1767
      msgid "Default"
      msgstr "Default"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "Documentclass:"
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "Scegli il tipo di documento che vuoi scrivere"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Articolo"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Report"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Lettera"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Presentazione"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Codifica:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "Imposta la codifica per il tuo nuovo documento"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr "Dimensione testo"
      
      #: ../geanylatex/src/geanylatex.c:1827
      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:1839
      msgid "Author:"
      msgstr "Autore:"
      
      #: ../geanylatex/src/geanylatex.c:1842
      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: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 ""
      "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:1871
      msgid "Title:"
      msgstr "Titolo:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr "Imposta il titolo del tuo nuovo documento."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "Dimensione pagina:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      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:1899
      msgid "Paper Orientation:"
      msgstr "Orientazione pagina:"
      
      #: ../geanylatex/src/geanylatex.c:1902
      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:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "Usa le classi di KOMA-script se possibile"
      
      #: ../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 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:1932
      msgid "Use draft mode"
      msgstr "Usa modalità bozza"
      
      #: ../geanylatex/src/geanylatex.c:1934
      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:1951
      msgid "Run LaTeX-Wizard"
      msgstr "Esegui LaTeX-Wizard"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "Inserisci \\label"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "Inserisci \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "Inserisci fine riga \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "Inserisci comando"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr "Attiva/Disattiva sostituzione input"
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Sostituisci caratteri speciali"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr "Mostra la finestra di dialogo inserimento ambiente"
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "Inserisci \\item"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "Imposta grassetto su selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "Imposta corsivo su selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "Imposta typewriter su selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Centra la selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Allinea a sinistra la selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Allinea a destra la selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr "Inserisci una lista di descrizione"
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr "Inserisci elenco puntato"
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr "Inserisci elenco numerato"
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr "Imposta selezione un livello sopra"
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr "Imposta selezione un livello sotto"
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr "Inserisci \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr "Inserisci riferimento 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 è 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: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 è 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:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr "pagina \\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:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX-_Wizard"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Avvia un Wizard per creare facilemente documenti LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr "I_nserisci Carattere Speciale"
      
      #: ../geanylatex/src/geanylatex.c:2151
      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:2161
      msgid "Insert _Reference"
      msgstr "Inserisci _Riferimento"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr "Inserimento riferimenti al documento"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "Inserisci _Etichetta"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "Aiuta a inserire etichette al documento"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "Inserisci _Ambiente"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "Aiuta a inserire un ambiente al documento"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "Inserisci _Package"
      
      #: ../geanylatex/src/geanylatex.c:2186
      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:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formato"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "_Dimensione Testo"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "_Sostituzione Carattere Speciale"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "Amplia _Sostituzione Caratteri Speciali"
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "_Sostituisci i caratteri speciali con sostituti TeX"
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "A_ttiva/Disattiva sostituzione caratteri speciali"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "Inserisci _Comando"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr "Inserisci un comando personalizzato al documento"
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr "Inserisci riferimento B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr "Aiuta a inserire un riferimento fuori dai BibTeX file"
      
      #: ../geanylatex/src/geanylatex.c:2298
      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"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "_Lua Scripts"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Costruendo menu da '%s'\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "Niente da configurare!"
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Apri file"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Seleziona file"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Sfoglia..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Selezione colore"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Scegli..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Seleziona Font"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Seleziona..."
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: impossibile caricare la libreria di support %s!\n"
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: impossibile inizalizzare la libreria di supporto %s!\n"
      
      #: ../geanylua/geanylua.c:170
      #, 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:176
      #, 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:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: impossibile trovare la libreira %s!\n"
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr "Registra _Macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr "Ferma Registrazione _Macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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: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 ""
      "Uno strumento per applicare uno script filtro a una selezione di testo o ai "
      "documenti correnti."
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, un utente di Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr "_Mini-Script"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr "Segnalibri numerati per Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, 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: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' è 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:977
      msgid "_Ignore"
      msgstr "_Ignora"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr "Ricorda stato di espansione"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr "Centra la vista quando vai a un segnalibro"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr "Sposta a inizio riga"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr "Sposta nella posizione salvata della riga"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr "Sposta nella posizione corrente"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr "Sposta a fine riga"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr "Salva le preferenze con le impostazioni del programma"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr "Salva il file delle preferenze con un suffisso"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr "Ricorda normali Segnalibri"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr "Aiuto segnalibri numerati"
      
      #: ../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 ""
      "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:1398
      #, 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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr "Usando versione libgpgme:"
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr "Errore da"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Crifra"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "Firma"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "Decifra / Verifica"
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr "Cerca un testo in un progetto geanyprj"
      
      #: ../geanyprj/src/geanyprj.c:242
      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:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Nuovo progetto"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "_Progetto"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Elimina Progetto"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Aggiungi file"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferenze"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Nascond_i barra laterale"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr "Progetto"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Progetto \"%s\" aperto."
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Impossibile 'pre-load' sulla libreria Python: %s."
      
      #: ../geanypy/src/geanypy-plugin.c:415
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr "Supporto plugins in Python"
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: errore s_spawn_sync: %s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "File %s: azioni %s eseguiti da %s."
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, 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:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "Nessuna modifica effettuata."
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr "Cronologia non disponibile"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Vuoi davvero ripristinare: %s?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Vuoi davvero aggiungere: %s?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Vuoi davvero rimuovere: %s?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Vuoi davvero aggiornare: %s?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "Commit S/N"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Stato"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Percorso"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Linea: %d Colonna: %d"
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Commit"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "_De-/seleziona tutti i file"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "Messaggio commit:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr "C_ommit"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "Niente da committare."
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, 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:1887
      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:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "Conferma aggiunta nuovo file to VCS"
      
      #: ../geanyvc/src/geanyvc.c:1901
      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:1907
      msgid "Maximize commit dialog"
      msgstr "Ingrandisci dialogo commit"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "Visualizza dialogo commit ingrandito."
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Usa editor diff esterno"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "Usa editor diff esterno per differenze."
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "Visualizza voci VC nel menu editor"
      
      #: ../geanyvc/src/geanyvc.c:1924
      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:1929
      msgid "Attach menu to menubar"
      msgstr "Poni menu nella menubar"
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "Abilita CVS"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "Abilita GIT"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "Abilita SVN"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "Abilita SVK"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Abilita Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Abilita Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "Lingua controllo ortografia"
      
      #: ../geanyvc/src/geanyvc.c:2061
      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:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2070
      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:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "_Ripristina (revert)"
      
      #: ../geanyvc/src/geanyvc.c:2078
      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:2087
      msgid "_Blame"
      msgstr "_Responsabilità"
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "_Cronologia (log)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      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:2105
      msgid "_Original"
      msgstr "_Originale"
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr "Visualizza l'originale del file corrente"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "_Aggiungi a Controllo Versione"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Aggiungi file al repository."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "_Rimuovi da Controllo Versione"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Rimuovi file da repository."
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Directory"
      
      #: ../geanyvc/src/geanyvc.c:2147
      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:2156
      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:2166
      msgid "Shows the log of the current directory"
      msgstr "Visualizza log directory corrente"
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "_Base Directory"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr "Crea diff dalla directory VC primaria"
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr "Annulla qualsiasi modifica locale."
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr "Visualizza log della directory VC primaria"
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "VC _Commit"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Visualizza diff del file"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Visualizza diff della directory"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Visualizza diff della basedir"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "Commit cambiamenti"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Visualizza status"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Ripristina singolo file"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Ripristina directory"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Ripristina directory base"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Aggiorna file"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "_VC"
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "_Version Control"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "_Status"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Visualizza status."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Aggiorna dal repository remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "_Commit"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Commit modifiche."
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr "Incolla il tuo codice da un pastebin preferito"
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "posizione non valida \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr "Rifiuta di creare appunti vuoti"
      
      #: ../geniuspaste/src/geniuspaste.c:824
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "Impossibile importare modulo 'manager'"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "Impossibile create directory di configurazione \"%s\": %s"
      
      #: ../geniuspaste/src/geniuspaste.c:844
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "Impossibile aprire il file dello script."
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      #, fuzzy
      msgid "Unexpected response from the pastebin service."
      msgstr "Errore inaspettato da pinentry."
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr "Appunti caricato correttamente"
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "Puoi trovare i tuoi appunti qui:\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:881
      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:894
      msgid "The author name field is empty!"
      msgstr "Il campo del nome autore è vuoto!"
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr "Seleziona un pastbin:"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr "Inserisci nome autore:"
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr "Visualizza i tuoi appunti in un nuovo tab del browser"
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Impossibile caricare file di configurazione: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "Impossibile create directory di configurazione \"%s\": %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Impossibile salvare file di configurazione: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Vai alla pagina precedente"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Vai alla pagina successiva"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, 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"
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Rimuovi file"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "Rimuovi file"
      
      #: ../lineoperations/src/lineoperations.c:263
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Rimuovi file"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Operazione binaria"
      
      #: ../lineoperations/src/lineoperations.c:320
      #, fuzzy
      msgid "Line Operations"
      msgstr "Operazione binaria"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      #, fuzzy
      msgid "Lipsum"
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Crea un testo fittizio con Geany"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Lipsum-Generator"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Inserisci la lunghezza del testo Lipsum qui"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      #, fuzzy
      msgid "_Lipsum..."
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "Includi uno Pseudotext al tuo codice"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Inserisci testo Lipsum"
      
      #. 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:34
      msgid "Real-time Markdown preview"
      msgstr "Anteprima real-time Markdown"
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr "Anteprima Markdown"
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr "Il documento corrente non ha un tipo di file Markdown."
      
      #: ../markdown/src/plugin.c:278
      #, fuzzy
      msgid "Save HTML File As"
      msgstr "Salva file"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "Aggiungi file"
      
      #: ../markdown/src/plugin.c:322
      #, fuzzy, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "Impossibile caricare il file \"%s\": %s"
      
      #: ../multiterm/src/config.vala:47
      #, 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
      #, 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
      #, fuzzy
      msgid "Move to message window"
      msgstr "message-window"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "sidebar"
      
      #: ../multiterm/src/context-menu.vala:81
      #, fuzzy
      msgid "Open Tab"
      msgstr "Apri terminale"
      
      #: ../multiterm/src/context-menu.vala:96
      #, fuzzy
      msgid "Open Window"
      msgstr "Nuova _Finestra"
      
      #: ../multiterm/src/context-menu.vala:103
      #, fuzzy
      msgid "Next tab"
      msgstr "Stringa _Successiva"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      #, fuzzy
      msgid "Previous tab"
      msgstr "Stringa _Precedente"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Visualizza status"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "Impossibile scrivere la configurazione di default: %s"
      
      #: ../multiterm/src/notebook.vala:202
      #, fuzzy
      msgid "New terminal"
      msgstr "Visualizza terminale"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      #, fuzzy
      msgid "Terminal"
      msgstr "Terminale"
      
      #: ../multiterm/src/tab-label.vala:84
      #, fuzzy
      msgid "Close terminal"
      msgstr "Visualizza terminale"
      
      #: ../multiterm/src/terminal.vala:88
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Impossibile generare il commento: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr "Coppia tag Highlighter"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Cerca e evidenzia corrispondenza apertura/chiusura tag HTML"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      #, fuzzy
      msgid "Go To Matching Tag"
      msgstr "Seleziona alla _parentesi corrispondente"
      
      #: ../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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      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:1557
      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:1554
      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:1560
      #, 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:40
      msgid "Translation Helper"
      msgstr "Translation Helper"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr "Aggiunge supporto per la traduzione dei file GetText."
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr "Incolla stringa non tradotta originale alla traduzione"
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, 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:41
      msgid "XML PrettyPrinter"
      msgstr "XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr "PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr "Esegui PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr "Impossibile effettuare parse del contenuto come XML"
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr "Nodi vuoti"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr "Concatenazione (da  a )"
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr "Spaziatura (da  a )"
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr "Espansione (da  a )"
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "Indentazione"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "Spazio"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr "Interruzione di riga"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Preferenze progetto"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Cerca nei file del progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Cerca nei file del progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Cerca file progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Cerca file progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Cerca file progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Cerca file progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      #, fuzzy
      msgid "Open Selected File (Project Organizer)"
      msgstr "Open file selezionato (gproject)"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr "Patterns sorgente:"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      #, 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:593
      msgid "Header patterns:"
      msgstr "Intestazione patterns:"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      #, 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:605 ../workbench/src/dialogs.c:243
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "Ignora patters directory:"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      #, 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:617 ../workbench/src/dialogs.c:254
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "Ignora patters directory:"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Cerca nei file del progetto"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      #, fuzzy
      msgid "Yes"
      msgstr "sì"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      #, fuzzy
      msgid "No"
      msgstr "N°"
      
      #: ../projectorganizer/src/prjorg-project.c:638
      #, 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:644
      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:123
      msgid "Find File"
      msgstr "Cerca file"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr "Cerca all'interno:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr "Cerca nel percorso completo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      #, fuzzy
      msgid "project or external directory"
      msgstr "Crea nuova directory"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Seleziona directory"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      #, fuzzy
      msgid "Add"
      msgstr "Addons"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Cerca file"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr "Ricarica tutto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      #, fuzzy
      msgid "Add external directory"
      msgstr "Ripristina directory"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Espandi tutto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr "Segui l'editor attivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "Espandi tutto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Cerca nei files"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      #, fuzzy
      msgid "Find File..."
      msgstr "Cerca file"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Cerca file"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      #, 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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr "Programma installazione"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr "Esegui/Continua"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr "Esegui alla sorgente"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr "Terminale"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr "Attiva/Disattiva breakpoint"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr "Comando GDB"
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr "Visualizza terminale"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr "Occupato"
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr "Pronto"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr "Sospeso"
      
      #: ../scope/src/scope.c:229
      #, fuzzy
      msgid "Assem"
      msgstr "Assem"
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr "Carica"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr "Generazione richiesta. Terminare debug?"
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr "Breaks"
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr "Console"
      
      #: ../scope/src/scope.c:525
      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: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"
      
      #: ../sendmail/src/sendmail.c:45
      #, fuzzy
      msgid "SendMail"
      msgstr "GeanySendMail"
      
      #: ../sendmail/src/sendmail.c:46
      #, 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"
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "Indirizzo destinatario"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "Inserisci l'email del destinatario:"
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "Segnaposto nome file non trovato. Il comando eseguito potrebbe aver fallito."
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "Segnaposto indirizzo destinatario non trovato. Il comando eseguito potrebbe "
      "aver fallito."
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Impossibile eseguire il gestore mail. Controlla la tua configurazione. "
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "Devi definire un client mail prima."
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "Il file deve essere salvato prima di inviare."
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "Mail"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "Inviato via mail"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "Percorso e opzioni per il client mail:"
      
      #: ../sendmail/src/sendmail.c:322
      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\""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "Visualizza icona nella toolbar"
      
      #: ../sendmail/src/sendmail.c:334
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Visualizza un'icona nella toolbar per inviare il file più semplicemente."
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr "Usa un dialogo per inserire gli indirizzi email dei destinatari"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Invia file via mail"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "Documento _mail"
      
      #: ../sendmail/src/sendmail.c:445
      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"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Prova: "
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "Controllo"
      
      #: ../spellcheck/src/speller.c:299
      #, 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:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Checking file \"%s\" (usando %s):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "Il testo selezionato è scritto correttamente."
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "La libreria Enchant non può essere inizializzata (%s)."
      
      #: ../spellcheck/src/speller.c:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "errore sconosciuto (forse la lingua scelto non è disponible)"
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr "Controllo ortografia"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Controlla l'ortografia del documento corrente."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Esegui controllo ortografia"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Attiva/Disattiva controllo mentre scrivi"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Seleziona directory"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr "Visualizza un'icona nella toolbar per il controllo ortografico"
      
      #: ../spellcheck/src/scplugin.c:288
      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:293
      #, 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:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Stampa parole errate e suggerimento nella finestra messaggi"
      
      #: ../spellcheck/src/scplugin.c:318
      #, fuzzy
      msgid "Interface"
      msgstr "Inspeziona"
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Controllo ortografico mentre scrivi"
      
      #: ../spellcheck/src/scplugin.c:329
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Controllo ortografico mentre scrivi"
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Lingua da usare per il controllo ortografia:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "_Directory in cui cercare i file del dizionario:"
      
      #: ../spellcheck/src/scplugin.c:354
      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:385
      #, 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:41
      msgid "Shift Column"
      msgstr "Sposta Colonna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "Sposta a sinistra"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "Qualcosa è andato storto analizzando la selezione. Fallito."
      
      #: ../tableconvert/src/tableconvert.c:328
      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
      #, fuzzy
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(Vuoto)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Impossibile eseguire il comando esterno configurato '%s' (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewDirectory"
      msgstr "Nuova Directory"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "Nuovo File"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, 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:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Vuoi davvero eliminare '%s' ?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      #, fuzzy
      msgid "Go _Up"
      msgstr "Sposta _Su"
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "Imposta percorso dal documento"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "_Apri esternamente"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "Apri terminale"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "Imposta come radice"
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "Aggiorna"
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr "Cerca nei _File"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Seleziona Cartella"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "Nuovo File"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "Rinonima"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Chiudi: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "Chiudi documenti figlio "
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "_Copia percorso completo negli appunti"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Espandi tutto"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Collassa tutto"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "Visualizza segnalibri"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Visualizza file nascosti"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "Visualizza le toolbar"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, 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:1743
      msgid "Go up"
      msgstr "Vai su"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Aggiorna"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Home"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Imposta percorso dal documento"
      
      #: ../treebrowser/src/treebrowser.c:1763
      #, fuzzy
      msgid "Track path"
      msgstr "Traccia percorso"
      
      #: ../treebrowser/src/treebrowser.c:1768
      #, fuzzy
      msgid "Hide bars"
      msgstr "Nascondi barre"
      
      #: ../treebrowser/src/treebrowser.c:1778
      #, 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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra indirizzo per esempio '/progetti/mio-progetto'"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr "Tree Browser"
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Apri comando esterno"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr "Barra degli strumenti"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Nascosto"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Sopra"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "Sotto"
      
      #: ../treebrowser/src/treebrowser.c:1987
      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:1991
      msgid "Show icons"
      msgstr "Visualizza icone"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Nessuno"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "Base"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "Content-type"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Visualizza file nascosti"
      
      #: ../treebrowser/src/treebrowser.c:2006
      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:2008
      msgid "Hide object files"
      msgstr "Nascondi i file oggetto"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr "Inverti filtro"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Segui il documento corrente"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "Click singolo, apri il documento e dagli il focus"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Doppio click per aprire la cartella"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "Quando un file viene eliminato, chiudilo se aperto"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr "Porta il focus sull'editor quando un file viene aperto"
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Visualizza linee dell'albero"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Visualizza segnalibri"
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr "Apri nuovi file"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Focus lista file"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "Focus inserimento percorso"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "Rinonima oggetto"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "Nuovo File"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Seleziona Cartella"
      
      #: ../treebrowser/src/treebrowser.c:2149
      #, fuzzy
      msgid "Track Current"
      msgstr "Traccia percorso"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "Updatechecker"
      
      #: ../updatechecker/src/updatechecker.c:41
      #, 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:194
      #, 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:202
      #, fuzzy
      msgid "No newer Geany version available."
      msgstr "C'è una versione più recente disponibile."
      
      #: ../updatechecker/src/updatechecker.c:217
      #, 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:289
      msgid "Run updatecheck on startup"
      msgstr "Esegui updatecheck all'avvio"
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr "Web helper"
      
      #: ../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 ""
      "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:140
      msgid "Web view"
      msgstr "Vista web"
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr "Anteprima web"
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr "Ricarica al salvataggio del documento"
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr "Auto aggiornamento del browser"
      
      #: ../webhelper/src/gwh-plugin.c:317
      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:322
      msgid "Browser last URI"
      msgstr "Ultimo URI del browser"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr "L'ultimo URI visitato dal browser"
      
      #: ../webhelper/src/gwh-plugin.c:329
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Visualizza segnalibri"
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr "Orientazione browser"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr "Orientazione del widget browser"
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr "Posizione del browser"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Posizione del widget browser nella UI di Geany"
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr "Geometria finestra browser separata"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr "Ultima geometria della finestra separa del browser"
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr "Geometria finestra Inspector"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr "Ultima geometria della finestra separa del Inspector"
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr "Inspector separato"
      
      #: ../webhelper/src/gwh-plugin.c:361
      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:366
      msgid "Secondary windows skip task bar"
      msgstr "Finestre secondarie non nella taskbar"
      
      #: ../webhelper/src/gwh-plugin.c:367
      #, 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:372
      msgid "Secondary windows are transient"
      msgstr "Finestre secondarie transitorie"
      
      #: ../webhelper/src/gwh-plugin.c:373
      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:378
      msgid "Secondary windows type"
      msgstr "Tipo finestre secondarie"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr "Il tipo delle finestre secondarie"
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr "Attiva/Disattiva Web Inspector"
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr "Visualizza/Nascondi la finestra Vista Web"
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Browser"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "Finestre"
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Crea nuova directory"
      
      #: ../workbench/src/dialogs.c:74
      #, fuzzy
      msgid "Open workbench"
      msgstr "Apri su"
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "Apri su"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Cerca file progetto"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      #, fuzzy
      msgid "_Add"
      msgstr "_Aggiungi entrambi"
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "Il file del progetto \"%s\" esiste già"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Ripristina directory"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "_Directory"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      #, fuzzy
      msgid "_OK"
      msgstr "_Ok"
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "Patterns sorgente:"
      
      #: ../workbench/src/dialogs.c:238
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      "Lista separata da spazi dei patterns che saranno usati per identificare le "
      "directory che non saranno scansione per file sorgenti."
      
      #: ../workbench/src/dialogs.c:249
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      "Lista separata da spazi dei patterns che saranno usati per identificare le "
      "directory che non saranno scansione per file sorgenti."
      
      #: ../workbench/src/dialogs.c:260
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be 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."
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "Cerca nei file del progetto"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, fuzzy, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "Impossibile caricare file di impostazione debug per %s:%s."
      
      #: ../workbench/src/menu.c:122
      #, fuzzy, c-format
      msgid "Could not open workbench file: %s"
      msgstr "Impossibile caricare file di impostazione debug per %s:%s."
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr "Impossibile caricare file di impostazione debug per %s:%s."
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "Impostazioni"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "Chiudi: %s"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "Impossibile caricare file di impostazione debug per %s:%s."
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Cerca file progetto"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Nuovo progetto"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Rinonima oggetto"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "Cerca file progetto"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "Ripristina directory"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Ripristina directory"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Ripristina directory"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "_Directory"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "Visualizza diff della directory"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "%s: impossibile trovare file o directory"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "Crea nuova directory"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "Apri un file firma"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "Espandi tutto"
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "Collassa tutto"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "_Rimuovi segnalibro"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "Base"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "Nuova Directory"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Progetto"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "_Directory"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "_Base Directory"
      
      #: ../workbench/src/wb_project.c:945
      #, fuzzy
      msgid "File Patterns:"
      msgstr "Ignora patters directory:"
      
      #: ../workbench/src/wb_project.c:957
      #, fuzzy
      msgid "Ignored Dir. Patterns:"
      msgstr "Ignora patters directory:"
      
      #: ../workbench/src/wb_project.c:969
      #, fuzzy
      msgid "Ignored File Patterns:"
      msgstr "Ignora patters directory:"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, fuzzy, c-format
      msgid "Number of Files: %u\n"
      msgstr "Numero del volume"
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Progetto"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Chiudi: %s"
      
      #: ../workbench/src/wb_project.c:1008
      #, fuzzy, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Numero del volume"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, fuzzy, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "Il file \"%s\" esiste ma non è  un file regolare"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr "Frammenti XML"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Autocompleta i tag XML/HTML usando i frammenti."
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "Crea un nuovo file"
      
      #, fuzzy
      #~ msgid "E_xpand all"
      #~ msgstr "Espandi tutto"
      
      #~ msgid "Create New File"
      #~ msgstr "Crea nuovo file"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Crea nuova cartella"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "Apri visualizzatore documentazione sul simbolo corrente."
      
      #~ msgid "Column mode, select to line / brace / anchor."
      #~ msgstr "Modalità Colonna, selezione linea / parentesi / ancora."
      
      #~ msgid "Insert/Fill columns with numbers."
      #~ msgstr "Inserisci/Riempi colonne con numeri."
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "Scrivi ed esegui gli script Lua per comandi personalizzati."
      
      #~ msgid "gpg encryption plugin for geany"
      #~ msgstr "Plugin per la crittografia gpg in Geany"
      
      #~ msgid "Alternative project support."
      #~ msgstr "Supporto alternativo progetto."
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Interfaccia per differenti sistemi di Controllo Versione (VCS)"
      
      #~ msgid "Formats an XML and makes it human-readable."
      #~ msgstr "Formatta XML e rendilo 'umanamente' leggibile"
      
      #~ msgid "Relatively simple GDB front-end."
      #~ msgstr "Interfaccia relativamente semplice per GDB"
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Sposta una selezione a sinistra e destra"
      
      #~ msgid "Delete"
      #~ msgstr "Elimina"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #~ msgid "Failed to import manager module"
      #~ msgstr "Impossibile importare modulo 'manager'"
      
      #~ msgid "Failed to retrieve PluginManager from manager module"
      #~ msgstr "Impossibile ottenere PluginManager da modulo 'manager'"
      
      #~ msgid "System plugin directory not found."
      #~ msgstr "Impossibile trovare la directory di sistema per i plugin."
      
      #~ msgid "Unable to instantiate new PluginManager"
      #~ msgstr "Impossibile instanziare new PluginManager"
      
      #~ msgid "Unable to get show_all() method on plugin manager"
      #~ msgstr "Impossibile ottenere show_all() sul plugin manager"
      
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "Impossibile creare la Python plugins directory: %s: %s"
      
      #~ msgid "Python Plugin Manager"
      #~ msgstr "Python Plugin Manager"
      
      #~ 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 "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.32/po/ru.po0000644000175000017500000106140513204251613016117 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Закладки"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "Дополнения"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Различные небольшие дополнения для Geany"
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "Перейти к списку закладок"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Перейти к списку задач"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Обновить список задач"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "Вставить XML теги по границам выделенного текста"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr "Каталог настроек плагина не может быть создан."
      
      #: ../addons/src/addons.c:494
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr "Кнопка со списком открытых документов на панели инструментов"
      
      #: ../addons/src/addons.c:498
      msgid "Sort documents by _name"
      msgstr "Сортировать документы по имени файла"
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr "Сортировать документы в списке по имени файла"
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr "Сортировать документы по расположению вкладок"
      
      #: ../addons/src/addons.c:505
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Сортировать документы в порядке расположения вкладок"
      
      #: ../addons/src/addons.c:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Сортировать документы по расположению вкладок (обратный порядок)"
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      "Сортировать документы в порядке расположения вкладок (обратный порядок)"
      
      #: ../addons/src/addons.c:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Отображать команду 'Открыть URI' в меню редактора"
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Показывать вкладку со списком задач в окне сообщений"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Показывать задачи для всех документов"
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "Укажите разделенный точками с запятой список маркеров поиска"
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr "Маркеры поиска:"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Показывать иконку в области уведомлений"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Показывать список закладок в боковой панели"
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr "Подсвечивать все вхождения слова в документе по двойному клику"
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "Удалять пустые строки в конце файла при сохранении"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "Вставка XML тегов по границам выделенного текста"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr "Окружать выделение по горячей клавише"
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr "Пары окружения..."
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr "Окружать выделение автоматически (без горячих клавиш)"
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr "Автозакрытие"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr "Многофункциональное автозакрытие скобок и кавычек"
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr "Автозакрытие скобок и кавычек"
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr "Круглые скобки ( )"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr "Автозакрытие круглых скобок \"(\" -> \"(|)\""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr "Фигурные скобки { }"
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr "Автозакрытие фигурных скобок \"{\" -> \"{|}\""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr "Квадратные скобки [ ]"
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr "Автозакрытие квадратных скобок \"[\" -> \"[|]\""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr "Угловые скобки < >"
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr "Автозакрытие угловых скобок \"<\" -> \"<|>\""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr "\tТолько для HTML"
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr "Автозакрытие угловых скобок только в HTML документах"
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr "Двойные кавычки \" \""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr "Автозакрытие двойных кавычек \" -> \"|\""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr "Одинарные кавычки ' '"
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr "Автозакрытие одинарных кавычек ' -> '|'"
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr "Обратная кавычка ` `"
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr "Автозакрытие обратной кавычки ` -> `|`"
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr "\tТолько для языка сценариев Bash"
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr "Автозакрытие обратной кавычки только в документах Bash"
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr "Улучшить автозакрытие фигурных скобок"
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr "Создавать отступ при окружении"
      
      #: ../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 ""
      "Если вы выделите текст и нажмёте одну из клавиш \"{\" или \"}\", модуль "
      "автоматически окружит выбранные строки кода и создаст новый блок с "
      "отступом.\n"
      "Вам не нужно точно выделять границы блоки - окружение работает только со "
      "строками целиком."
      
      #: ../autoclose/src/autoclose.c:1063
      msgid "Move cursor to beginning"
      msgstr "Переместить курсор к началу"
      
      #: ../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 ""
      "Если выбран параметр \"Создавать отступ при окружении\", перемещение курсора "
      "в начало блока может быть полезным: обычно вы создаёте новый блок и "
      "печатаете оператор перед этим блоком."
      
      #: ../autoclose/src/autoclose.c:1067
      msgid "Improved auto-indentation"
      msgstr "Улучшить автоотступ"
      
      #: ../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 ""
      "Улучшенный автоматический отступ для фигурных скобок: наберите \"{\" и "
      "нажмите Enter - модуль создаст полностью готовый блок с отступом. Работает "
      "без параметра \"автозакрытие фигурных скобок { }\"."
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr "\tСтиль Уайтсмит"
      
      #: ../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 ""
      "Данный стиль располагает фигурные скобки с отступом относительно предыдущего "
      "оператора. Операторы внутри блока имеют тот же отступ, что и фигурная скобка."
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr "Удалить парный символ при удалении предыдущего клавишей BackSpace"
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      "Включите, если хотите, чтобы модуль удалял соседний парный символ каждый "
      "раз, когда вы нажимете BackSpace."
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr "Подавлять двойное автозакрытие"
      
      #: ../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 ""
      "Включите, если хотите, чтобы модуль автоматически исправлял ошибки в "
      "скобках: если вы печатаете \"{}\", вы получите \"{}\", а не \"{}}\"."
      
      #: ../autoclose/src/autoclose.c:1083
      msgid "Enclose selections"
      msgstr "Окружать выделенный текст"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      "Автоматически окружать выбранный текст путём нажатия только одной клавиши со "
      "скобкой."
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr "Сохранять выделение при окружении"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr "Сохранить предыдущее выделение текст после окружения скобками."
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr "Поведение внутри комментариев и строк"
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr "Разрешить автозакрытие внутри комментариев и строк"
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      "Включите, если вы хотите, чтобы автозакрытие также работало внутри "
      "комментариев и строк."
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr "Окружать выделение внутри комментариев и строк"
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      "Включите, если вы хотите, чтобы окружение выделенного блока текст также "
      "работало внутри комментариев и строк."
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr "Автозавершение \";\" для функций"
      
      #: ../autoclose/src/autoclose.c:1097
      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:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr "Shift+BackSpace удаляет парную скобку"
      
      #: ../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 ""
      "Удалять левую и правую скобку при нажатии Shift+BackSpace, как бы далеко они "
      "не находились.\n"
      "Подсказка: чтобы удалить полностью блок с отступом, просто нажмите Shift"
      "+BackSpace рядом с первым символом \"{\" или последним символом \"}\"."
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr "Нажмите Tab для перехода к следующему символу"
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr "Переходить к парному автоматически вставленному символу клавишей Tab."
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr "Авто-маркер"
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr "Вы можете указать несколько расширения, разделяя их запятыми."
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr "Расширения файлов реализации"
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr "Расширения заголовочных файлов"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr "Сбросить по умолчанию"
      
      #: ../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 ""
      "Вы уверены, что хотите удалить все языки и восстановить значения по "
      "умолчанию?\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:42
      msgid "Commander"
      msgstr "Командир"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr "Командная панель быстрого доступа к действиям, файлам и другое"
      
      #: ../commander/src/commander-plugin.c:772
      msgid "Show Command Panel"
      msgstr "Показать командную панель"
      
      #: ../commander/src/commander-plugin.c:776
      #, fuzzy
      msgid "Show Command Panel (Commands Only)"
      msgstr "Показать командную панель"
      
      #: ../commander/src/commander-plugin.c:780
      #, fuzzy
      msgid "Show Command Panel (Files Only)"
      msgstr "Показать командную панель"
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr "Отладчик"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr "Поддержка отладчиков"
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "Отладка"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Имя"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Значение"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr "Выберите файл"
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Цель:"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr "Обзор"
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr "Отладчик"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr "Аргументы командной строки"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "Переменные окружения"
      
      #. 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 "Удалить переменную?"
      
      #: ../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:526
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Программа получила сигнал %s (%s)"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Программа завершилась с кодом \"%i\""
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr "Ошибка запуска GDB"
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Загрузка файла.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr "Ошибка загрузки файла"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr "Ошибка установки параметров GDB"
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      "Точка останова %s:%i не может быть установлена\n"
      "Сообщение отладчика: %s"
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      msgid "Target"
      msgstr "Цель"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "Точки останова"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr "Наблюдение"
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr "Автоматические переменные"
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr "Трассировка"
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr "Терминал"
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "Отладочные сообщения"
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "Запустить / Продолжить"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "Останов"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr "Перезапустить"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr "Шаг в"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr "Шаг через"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr "Шаг из"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr "Выполнить до позиции курсора"
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "Добавить / Удалить точку останова"
      
      #: ../debugger/src/keys.c:56
      msgid "Jump to the current instruction"
      msgstr "Перейти к текущей инструкции"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "Не могу вычислить выражение"
      
      #: ../debugger/src/callbacks.c:257
      msgid "To edit source files stop debugging session"
      msgstr "Остановите отладку чтобы редактировать файлы"
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Запустить"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Настройки"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "Одна / две панели"
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr "Продолжить"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr "Сохранять данные отладки в проект"
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr "Форматирование макросов"
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr "Документация разработчика"
      
      #: ../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 ""
      "Поиск и просмотр во встроенном окне документации из систем DevHelp, \"man\" "
      "и Google Code Search"
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Невозможно создать каталог для хранения настроек в '%s'"
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Невозможно загрузить конфигурацию по умолчанию: %s"
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr " Невозможно сохранить конфигурацию по умолчанию: %s"
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr "Переключиться на вкладку содержания в боковой панели"
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr "Переключиться на вкладку поиска в боковой панели"
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr "Переключиться на вкладку документации"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr "Активировать все вкладки документации"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr "Поиск текущего тега в Devhelp"
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "Генератор ctags и поиск тегов в проектах Geany"
      
      #: ../geanyctags/src/geanyctags.c:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s (в каталоге: %s)"
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr "Не удалось выполнить команду (%s)"
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr "Найти тег"
      
      #: ../geanyctags/src/geanyctags.c:529
      msgid "_Search for:"
      msgstr "И_скать:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr "Тип _поиска:"
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr "точный"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr "префикс"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      msgid "pattern"
      msgstr "по шаблону"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "С _учётом регистра"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      msgid "_Declaration"
      msgstr "_Объявление"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr "Найти объявление тега (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr "Найти определение тега (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      msgid "Generate tags"
      msgstr "Сгенерировать теги"
      
      #: ../geanyctags/src/geanyctags.c:654
      msgid "Find tag..."
      msgstr "Найти тег..."
      
      #: ../geanyctags/src/geanyctags.c:659
      msgid "Find tag"
      msgstr "Найти тег"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "Документация"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Невозможно проанализировать вывод команды"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "Вывести в буфер"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Команда 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Команда 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w будет заменено на слово под курсором\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "Документация на слово под курсором"
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "_Расширенное выделение"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr "Режим выделения по _столбцам"
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr "Режим выделения по столбцам"
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr "Выделить до строки"
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr "Выделить до строки"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "Выделить до парной скобки"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "Выделить до парной скобки"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr "Переключить _обычное/прямоугольное"
      
      #: ../geanyextrasel/src/extrasel.c:531
      msgid "Convert selection"
      msgstr "Конвертировать выделение"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr "_Установить анкер"
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr "Установить анкер"
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr "_Выделить до анкера"
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr "Выделить до анкера"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr "_Прямоугольное выделение до анкера"
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr "Генератор документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr "Генерирует документацию из исходного кода"
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Невозможно загрузить конфигурацию: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Невозможно сохранить конфигурацию: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr "Конфигурация для типа файла \"%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 ""
      "# Конфигурация для данного типа файла ещё не существует.\n"
      "# Для её создания, запишите её в этот файл и сохраните его.\n"
      "# Для описания синтаксиса данного файла пожалуйста обратитесь к "
      "документации.\n"
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "Невозможно загрузить файл \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr "Вставить комментарий для документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr "Документировать текущий символ"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr "Генерировать документацию по текущему символу."
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr "Документировать все символы"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr "Генерировать документацию по всем символам текущего документа"
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr "Перезагрузить конфигурационные файлы"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Принудительно перезагрузить конфигурационные файлы"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "Редактировать конфигурацию для текущего языка "
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr "Открыть конфигурацию текущего языка для редактирования"
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr "Открыть руководство"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "Открыть руководство в браузере"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr "Генерация документации"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Общие"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "Сохранять файлы перед генерацией документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr "Делать отступы в документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      "Должна ли вставляемая документация быть выделена сдвигом в позиции вставки."
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Тип документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr "Глобальное окружение"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "Переопределения и дополнения к глобальному окружению. Будет добавлено к "
      "окружению, специфичному для типа файла."
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "Файл \"%s\" существует, но не является обычным файлом"
      
      #: ../geanygendoc/src/ggd-utils.c:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Вставка чисел"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "Подчёт..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "Подготовка..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "Вставка..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr "Для основания 11 и выше"
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "Старт:"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "Шаг:"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "Основание:"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Регистр букв:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "Верхний"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "Нижний"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "Префикс"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      "0 для восьмеричных, 0x для шестнадцатеричных, + для положительных десятичных "
      "чисел"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr "Отступ:"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "Пробел"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "Ничего"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr "Запустить мастер LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "Пометить выделенный текст курсивом"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Пометить выделенный текст полужирным"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Пометить выделенный текст подчёркиванием"
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Выравнивание по центру"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Выравнивание по левому краю"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Выравнивание по правому краю"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "Использовать KOMA script по умолчанию"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "Показать дополнительную панель инструментов"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr "Начинать предложение с заглавной буквы по время набора"
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr "Добавить иконку мастера на главную панель Geany"
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr "Выделение в нижний регистр для капители (\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr "Не изменять"
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Всегда выполнять автодополнение в LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr "Способ автодополнения"
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "Вставить метку"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "Название метки:"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "Вставить команду"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "Название команды:"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "Вставить ссылку"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "Имя ссылки:"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "_Обычная ссылка"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Ссылка на _страницу"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr "_И то и другое"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Дополнительно"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr "Добавить пакет"
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "Имя пакета:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr "Параметры пакета:"
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr "Вставить ссылку BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr "Имя ссылки BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "Уважаемый(ая)"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "С наилучшими пожеланиями"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr "Не задан шаблон. Операция прервана"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Шаблон:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      "Установить шаблон, который будет использоваться для создания нового документа"
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr "По умолчанию"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "Класс документа:"
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "Выберите тип документа, который хотите создать"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Статья"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Отчёт"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Письмо"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Презентация"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Кодировка:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "Установить кодировку для нового документа"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr "Размер шрифта"
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr "Установить размер шрифта по умолчанию для нового документа"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr "Автор:"
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      "Устанавливает значение для команды \\author. В большинстве случаев здесь "
      "должно быть ваше имя"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr "Дата:"
      
      #: ../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 ""
      "Устанавливает значение для команды \\date внутри заголовка нового LaTeX-"
      "документа. Оставьте \\today, если вам не нужна конкретная дата."
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr "Название документа:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr "Задаёт название для нового документа."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "Размер страницы:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr "Выберите размер страницы для нового документа"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr "Ориентация страницы"
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr "Выберите ориентацию страницы для нового документа"
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "Использовать KOMA-script классы, если возможно"
      
      #: ../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 ""
      "Использовать KOMA-script классы от Markus Kohm.\n"
      "Примечание: для успешной компиляции этот класс нужно сначала установить."
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr "Использовать режим черновика"
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      "Установите флаг черновика внутри нового документа, чтобы включить "
      "вспомогательные отладочные сообщения."
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "Запустить мастер LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "Вставить \\label"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "Вставить \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "Вставить разрыв строки \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "Вставить команду"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr "Переключить автозамену ввода"
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Заменять спецсимволы"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr "Запустить диалог вставки окружения"
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "Вставить \\item"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "Форматировать выделение жирным шрифтом"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "Форматировать выделение курсивным шрифтом"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "Форматировать выделение машинописным шрифтом"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Выровнять выделение по центру"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Выровнять выделение по левому краю"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Выровнять выделение по правому краю"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr "Вставить список с описанием (description)"
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr "Вставить маркированный список (itemize)"
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr "Вставить нумерованный список (enumerate)"
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr "Выделение на уровень выше"
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr "Выделение на уровень ниже"
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr "Вставить \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr "Диалог вставки ссылки 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 - дополнение улучшенной поддержки LaTeX в Geany.\n"
      "\n"
      "Сообщения об ошибках и предложения отправляйте одному из авторов."
      
      #: ../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 инициализирован с некорректным "
      "значением. Используется стандартное значение. Проверьте ваши файлы "
      "конфигурации"
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr "страница \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "Мастер LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Запуск мастера для простого создания документов LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr "_Вставить специальный символ"
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr "Доступ к некоторым не распространённым символам и знаками"
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Insert _Reference"
      msgstr "Вставить _ссылку"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr "Вставка ссылок в документ"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "Вставить _метку"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "Вставляет метки в документ"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "Вставить _окружение"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "Вставляет окружение в документ"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "Вставить _пакет"
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr "Небольшой диалог для вставки \\usepackage{} в заголовок текущего файла"
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Форматирование"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "_Размер шрифта"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "_Экранирование специальных символов"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "_Экранировать специальные символы"
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "Экранировать специальные символы TeX в выделении"
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "_Переключить экранирование символов"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "Вставить _команду"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr "Вставляет пользовательскую команду в документ"
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr "Вставить ссылку B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr "Вставка ссылок из библиотеки BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2298
      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 "Не устанавливать никакой кодировки"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "Сценарии _Lua"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Создание меню из '%s'\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "Настройки не обнаружены!"
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Открыть файл"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Выбрать файл"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Обзор..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Выбрать цвет"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Выбрать..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Выбрать шрифт"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Выбрать..."
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: Не удалось загрузить вспомогательную библиотеку %s!\n"
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: Не удалось инициализировать вспомогательную библиотеку %s!\n"
      
      #: ../geanylua/geanylua.c:170
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      "%s: Не соответствует версия вспомогательной библиотеки: %s для %s (должна "
      "быть %s)!\n"
      
      #: ../geanylua/geanylua.c:176
      #, 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:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: Не удалось обнаружить вспомогательную библиотеку %s!\n"
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr "Запись макроса"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr "Остановить запись макроса"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr "Мини сценарии"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr "Применяет сценарии-фильтры к текущему выделению или документу(ам)"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, пользователь Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr "Мини-сценарий"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr "Нумерованные закладки для Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr "Невозможно применить все маркеры к '%s' так как они все используются."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr "_OK"
      
      #: ../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' был отредактирован с момента последнего сохранения в Geany. Положения "
      "могут не соответствовать действительности и не будут загружены.\n"
      "Нажмите Игнорировать, чтобы попробовать загрузить маркеры в любом случае."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr "_Игнорировать"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr "Запоминать состояние свернутых блоков кода"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr "Центрировать вид при переходе к закладке"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr "Переходить в начало строки"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr "Переходить к сохранённой позиции в строке"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr "Перемещение в текущей строке"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr "Переходить в конец строки"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr "Сохранять настройки файла вместе с настройками программы"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr "Сохранять настройки файла с суффиксом"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr "Запоминать стандартные закладки"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr "Помощь по нумерованным закладкам"
      
      #: ../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 ""
      "Данный модуль добавляет в Geany нумерованные закладки, а также возможность "
      "сохранять состояние свернутых блоков кода и позиции стандартных "
      "ненумерованных закладок при сохранении файла.\n"
      "\n"
      "Он позволяет использовать до 10 нумерованных закладок. Чтобы установить "
      "нумерованную закладку, нажмите сочетание клавиш Ctrl+Shift+число от 0 до 9. "
      "Вы увидите маркер рядом с номером строки. Если нажать сочетание Ctrl+Shift"
      "+число на строке, в которой уже есть закладка с таким номером, закладка "
      "удаляется, в противном случае закладка перемещается, если она уже была "
      "назначена на другой строке или создаётся, если она ещё не была установлена. "
      "Возле номера строки отображается только последняя закладка, но можно "
      "устанавливать более одной закладки на одну строку. Чтобы перейти к ранее "
      "установленной закладке, нажмите сочетание клавиш Ctrl+число от 0 до 9."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr "Используется libgpgme версии:"
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr "Ошибка из"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Зашифровать"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "Подписать"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "Расшифровать / проверить"
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr "Найти текст в проекте geanyprj"
      
      #: ../geanyprj/src/geanyprj.c:242
      msgid "Display sidebar"
      msgstr "Показать боковую панель"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Настройки проекта"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Новый проект"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "_Проект"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Удалить проект"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Добавить файл"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Настройки"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Скрыть боковую панель"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr "Проект"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Проект \"%s\" открыт."
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Невозможно загрузить библиотеку Python: %s."
      
      #: ../geanypy/src/geanypy-plugin.c:415
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr "Поддержка модулей на Python"
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "Контроль версий"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: ошибка s_spawn_sync: %s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "Файл %s: действие %s выполняется через %s."
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated: Невозможно переименовать '%s' в '%s'"
      
      #: ../geanyvc/src/geanyvc.c:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "Изменения не были применены."
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr "История не доступна"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Вы действительно хотите отменить изменения: %s?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Вы действительно хотите добавить в репозиторий: %s?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Вы действительно хотите удалиь из репозитория: %s?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Вы действительно хотите обновить из репозитория: %s?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "Фиксировать изменения Да/Нет"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Статус"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Путь"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Строка: %d позиция: %d"
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Фиксировать"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "Все файлы"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "Комментарий к изменениям:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr "Ф_иксировать изменения"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "Отсутствуют локальные изменения."
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      "Ошибка инициализации системы проверки правописания: %s. Проверьте настройки "
      "системы."
      
      #: ../geanyvc/src/geanyvc.c:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "Устанавливать флаг \"изменённый\" для вкладок созданных плагином"
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "Подтверждать добавление файлов в репозиторий"
      
      #: ../geanyvc/src/geanyvc.c:1901
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "Показывать диалог подтверждения при добавлении новых файлов в репозиторий"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Maximize commit dialog"
      msgstr "Разворачивать диалог фиксации изменений"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "Максимизировать диалог фиксации изменений "
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Использовать внешнюю программу просмотра разницы"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "Использовать внешнюю программу просмотра разницы для файла"
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "Показывать пункты системы контроля версий в меню редактора"
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Показывать пункты меню системы контроля версий в меню редактора"
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr "Разместить меню на главной панели"
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "Включить CVS"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "Включить GIT"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "Включить SVN"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "Включить SVK"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Включить Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Включить Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "Язык проверки орфографии"
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr "Контроль версий"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Разница"
      
      #: ../geanyvc/src/geanyvc.c:2070
      msgid "Make a diff from the current active file"
      msgstr "Показать разницу для текущего файла"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "Отменить изменения"
      
      #: ../geanyvc/src/geanyvc.c:2078
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "Восстановить файл из рабочей копии (отмена локальных изменений)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2087
      msgid "_Blame"
      msgstr "_Изменения"
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "_История"
      
      #: ../geanyvc/src/geanyvc.c:2100
      msgid "Shows the log of the current file"
      msgstr "Показать лог для текущего файла"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2105
      msgid "_Original"
      msgstr "_Оригинал"
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr "Показать оригинальный файл из рабочей копии"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "Добавить в репозиторий"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Добавить файл в репозиторий"
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "Удалить из репозитория"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Удалить файл из репозитория"
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Каталог"
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr "Показать разницу для каталога текущего файла"
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr "Восстановить файлы в текущем каталоге из рабочей копии"
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr "Показать лог для текущего каталога"
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "_Базовый каталог"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr "Показать разницу для корневого каталога рабочей копии"
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr "Отменить все локальные изменения."
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr "Показать лог для корневого каталога рабочей копии"
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "Фиксировать изменения"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Показать разницу для файла"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Показать разницу для каталога"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Показать разницу для корневого каталога"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "Фиксировать локальные изменения"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Показать статус"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Отменить изменения для файла"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Отменить изменения для каталога"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Отменить изменения для корневого каталога"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Обновить файл"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "Контроль версий"
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "Контроль версий"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "_Статус"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Показать статус."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Обновить из репозитория."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "Ф_иксировать"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Фиксировать локальные изменения"
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr "Публикуйте код на pastebin-подобные площадки"
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr "Группа \"%s\" не найдена."
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr "В группе \"%s\" отсутствует ключ \"%s\"."
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr "Некорректная служба публикации кода."
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr "Нельзя публиковать пустой код"
      
      #: ../geniuspaste/src/geniuspaste.c:824
      msgid "Failed to paste the code"
      msgstr "Не удалось опубликовать код"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      "Проверьте соединение или параметры службы публикации кода и попробуйте снова."
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      "Подождите, пока доступ к служба не будет восстановлен и повторите попытку "
      "или попробуйте другую службу публикации кода."
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      msgid "Check the pastebin configuration and retry."
      msgstr "Проверьте параметры службы публикации кода и попробуйте снова."
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr "Не удалось получить URL публикации кода."
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      #, fuzzy
      msgid "Unexpected response from the pastebin service."
      msgstr "неожиданная ошибка от службы публикации кода."
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr "Опубликовано успешно"
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "Ваш код опубликован здесь:\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr "Не открыто ни одного документа. Откройте хотя бы один и повторите.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr "Поле автора пусто!"
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr "Выберите площадку:"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr "Введите имя автора:"
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr "Отображать опубликованный код в новой вкладке браузера"
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr "Монитор изменений Git"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr "Подсвечивает незафиксированные изменения файлов в репозитории Git"
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Невозможно загрузить файл конфигурации: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "Невозможно создать каталог конфигурации \"%s\": %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Невозможно сохранить конфигурационный файл: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      msgid "Go to the previous hunk"
      msgstr "Перейти к предыдущему участку"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      msgid "Go to the next hunk"
      msgstr "Перейти к следующему участку"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "Невозможно загрузить интерфейс, проверьте правильность установки. Ошибка: %s"
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr "Удалить дублирующиеся строки, отсортировать"
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr "Удалить дублирующиеся строки, упорядочить"
      
      #: ../lineoperations/src/lineoperations.c:258
      msgid "Remove _Unique Lines"
      msgstr "Удалить _уникальные строки"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "Удалить _уникальные строки"
      
      #: ../lineoperations/src/lineoperations.c:263
      msgid "Remove _Empty Lines"
      msgstr "Удалить _пустые строки"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr "Удалить строки с п_робельными символами"
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr "Сортировать строки по _возрастанию"
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr "Сортировать строки по у_быванию"
      
      #: ../lineoperations/src/lineoperations.c:274
      msgid "_Line Operations"
      msgstr "Операции со _строками"
      
      #: ../lineoperations/src/lineoperations.c:320
      msgid "Line Operations"
      msgstr "Операции со строками"
      
      #: ../lineoperations/src/lineoperations.c:321
      #, fuzzy
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      "Модуль предоставляет набор функций, которые могут быть применены к "
      "документу: удаление дублирующихся строк, удаление пустых строк, удаление "
      "строк, состоящих только из пробельных символов и сортировка строк."
      
      #: ../lipsum/src/lipsum.c:43
      #, fuzzy
      msgid "Lipsum"
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Создаёт текст-рыбу"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Lipsum-генератор"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Введите длину текста"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      #, fuzzy
      msgid "_Lipsum..."
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "Вставить псевдотекст в ваш код"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Вставить текст Lipsum"
      
      #. 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:34
      msgid "Real-time Markdown preview"
      msgstr "Предпросмотр Markdown в реальном времени"
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr "Предпросмотр Markdown"
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr "Текущий документ не является документом Markdown."
      
      #: ../markdown/src/plugin.c:278
      #, fuzzy
      msgid "Save HTML File As"
      msgstr "Сохранить файл"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "Добавить файл"
      
      #: ../markdown/src/plugin.c:322
      #, fuzzy, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "Невозможно загрузить файл \"%s\": %s"
      
      #: ../multiterm/src/config.vala:47
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "Невозможно сохранить конфигурационный файл %s: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #, 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
      msgid "Move to message window"
      msgstr "Переместить на окно сообщений"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      msgid "Move to sidebar"
      msgstr "Переместить на боковую панель"
      
      #: ../multiterm/src/context-menu.vala:81
      msgid "Open Tab"
      msgstr "Открыть вкладку"
      
      #: ../multiterm/src/context-menu.vala:96
      msgid "Open Window"
      msgstr "Открыть окно"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr "Следующая вкладка"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      msgid "Previous tab"
      msgstr "Предыдущая вкладка"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      msgid "Show Tabs"
      msgstr "Показать вкладки"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr "Не удалось запустить внешний терминал: %s"
      
      #: ../multiterm/src/notebook.vala:137
      msgid "Unable to locate default shell in configuration file"
      msgstr "Не удалось обнаружить стандартный файл параметров Shell"
      
      #: ../multiterm/src/notebook.vala:202
      msgid "New terminal"
      msgstr "Новый терминал"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr "Эмулятор терминала с поддержкой вкладок."
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      msgid "Terminal"
      msgstr "Терминал"
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr "Закрыть терминал"
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      msgid "Unable to run command: %s"
      msgstr "Невозможно выполнить команду: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr "Обзор текущего документа"
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr "Переключить видимость"
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr "Переключить расположение (слева/справа)"
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr "Подсветка парных тегов"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Находит и подсвечивает парные HTML-теги"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      #, fuzzy
      msgid "Go To Matching 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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr "Перейти к следующей непереведённой или fuzzy-строке"
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      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:1554
      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:1560
      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:40
      msgid "Translation Helper"
      msgstr "Помощник переводчика"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr "Улучшенная поддержка файлов перевода GetText"
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Переведено: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Непереведено: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr "Скопировать исходную непереведённую строку в перевод"
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      "Невозможно найти виджет \"%s\" в файле интерфейса, проверьте правильность "
      "установки."
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr "Форматирование XML"
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr "Форматировать XML"
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr "Запустить форматирование XML"
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr "Содержимое документа не соответствует формату XML"
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr "Пустые элементы"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr "Объединение ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr "Пробелы ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr "Расширение ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "Отступы"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "Пробелы"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr "Перевод строки"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      msgid "Project Organizer"
      msgstr "Органайзер проекта"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      "Дерево файлов, индексирование, поиск и навигация в проектах (бывш. GProject)"
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      msgid "Find in Project Files..."
      msgstr "Найти в файлах проекта..."
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Найти в файлах проекта"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      msgid "Find Project File..."
      msgstr "Найти файл проекта..."
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Найти файл проекта"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      msgid "Find Project Symbol..."
      msgstr "Найти символ проекта..."
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      msgid "Find project symbol"
      msgstr "Найти символ проекта"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr "Переключить Заголовок/Реализацию"
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr "Переключить заголовок/реализацию"
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr "Открыть выбранный файл (органайзер проектов)"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr "Шаблоны файлов с исходным текстом:"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      "Разделённый пробелами список шаблонов для определения файлов с исходным "
      "текстом. Нужно для переключения исходник/заголовок."
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr "Шаблоны заголовочных файлов:"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      "Разделённый пробелами список шаблонов для определения заголовочных файлов. "
      "Нужно для переключения исходник/заголовок."
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr "Шаблоны игнорируемых файлов:"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr "Игнорируемые шаблоны каталогов:"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      msgid "Index all project files:"
      msgstr "Индексировать все файлы проекта:"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr "Автоматически (индексировать, если файлов не более 300)"
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr "Да"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      msgid "No"
      msgstr "Нет"
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      msgid "Find File"
      msgstr "Найти файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr "Искать внутри:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr "Искать в полных путях"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      msgid "project or external directory"
      msgstr "проект или существующий каталог"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      msgid "Add External Directory"
      msgstr "Добавить внешний каталог"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      msgid "Add"
      msgstr "Добавить"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      msgid "Find Symbol"
      msgstr "Найти символ"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr "Тип соответствия:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr "Установить шаблоны файлов в Проект->Свойства"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr "Перезагрузить всё"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      msgid "Add external directory"
      msgstr "Добавить внешний каталог"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Развернуть всё"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr "Свернуть в корень проекта"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr "Следовать пути активного документа"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr "Откройте проект, чтобы начать использовать дополнение"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "Развернуть всё"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      msgid "Find in Files..."
      msgstr "Найти в файлах..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      msgid "Find File..."
      msgstr "Найти файл..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      msgid "Find Symbol..."
      msgstr "Найти символ..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr "Настроить программу"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr "Запустить/продолжить"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr "Выполнить до исходника"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr "Прервать"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr "Переключить точку останова"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr "Команда GDB"
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr "Показать терминал"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr "Занят"
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr "Готов"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr "Завис"
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr "Асм"
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr "Загрузка"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr "Запущена сборка. Прервать отладку?"
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr "Прерывания"
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr "Консоль"
      
      #: ../scope/src/scope.c:525
      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: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"
      
      #: ../sendmail/src/sendmail.c:45
      #, fuzzy
      msgid "SendMail"
      msgstr "Отправка почты"
      
      #: ../sendmail/src/sendmail.c:46
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr "Отправить текущий файл как вложение к письму"
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "Адрес получателя"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "Введите электронный адрес получателя"
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "Шаблон имени файла не найден. Выполняемая команда могла завершиться неудачно"
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "Шаблон адреса получателя не найден. Выполняемая команда могла завершиться "
      "неудачно"
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Невозможно запустить почтовую программу. Пожалуйста проверьте настройки."
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "Пожалуйста, выберите почтовую программу"
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "Файл должен быт сохранён перед отправкой"
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "Почта"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "Отправить по почте"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "Путь и опции почтового клиента:"
      
      #: ../sendmail/src/sendmail.c:322
      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\""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "Показывать иконку в панели инструментов"
      
      #: ../sendmail/src/sendmail.c:334
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Показывать иконку в панели инструментов для упрощения процесса отправки"
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr "Использовать диалог для ввода электронного адреса получателя"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Отправить файл по электронной почте"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "Отправить файл"
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "Отсылает текущий открытый файл как не архивированное вложение с помощью "
      "любого почтового клиента, который может быть найден в переменной окружения "
      "$PATH"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Попробуйте: "
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "Идёт проверка"
      
      #: ../spellcheck/src/speller.c:299
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "Проверяется файл \"%s\" (строки с %d по %d используя %s):"
      
      #: ../spellcheck/src/speller.c:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Проверяется файл \"%s\" (используя %s):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "Текст не содержит ошибок."
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Ошибка инициализации библиотеки Enchant (%s)."
      
      #: ../spellcheck/src/speller.c:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "неизвестная ошибка (возможно выбранный язык недоступен)"
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr "Проверка орфографии"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Проверяет орфографию в текущем документе"
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Запустить проверку орфографии"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Включить/выключить проверку при набора текста"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Выбрать каталог"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr "Показывать кнопку проверки орфографии на панели инструментов"
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "Добавить пункт проверки орфографии в меню редактора"
      
      #: ../spellcheck/src/scplugin.c:293
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Отображать варианты замены в подменю редактора"
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Выводить неправильное слово и список замен в окно сообщений"
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr "Интерфейс"
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Проверять по мере набора текста"
      
      #: ../spellcheck/src/scplugin.c:329
      msgid "Check spelling when opening a document"
      msgstr "Проверять орфографию при открытии документа"
      
      #: ../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 ""
      "Включите, чтобы проверять каждый документ сразу после того, как он открыт в "
      "редакторе. Перезагрузка документа также приведёт к повторной проверке."
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Язык проверки орфографии"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "_Каталог для поиска файлов словарей"
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "Дополнительные словари из данного каталога будут использоваться при "
      "проверке. На данный момент работает только со словарями 'myspell'."
      
      #: ../spellcheck/src/scplugin.c:385
      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:41
      msgid "Shift Column"
      msgstr "Сдвинуть Столбец"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "Сдвинуть Влево"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      msgid "LaTeX"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "При разборе содержимого произошла ошибка. Остановка."
      
      #: ../tableconvert/src/tableconvert.c:328
      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
      #, fuzzy
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(Пусто)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Невозможно выполнить заданную внешнюю команду '%s' (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewDirectory"
      msgstr "Новый каталог"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "Новый файл"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, 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:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Вы действительно хотите удалить файл '%s' ?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      #, fuzzy
      msgid "Go _Up"
      msgstr "Переместить _вверх"
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "Установить путь из документа"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "Открыть используя внешнюю программу"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "Открыть терминал"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "Сделать корневым каталогом"
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "Обновить"
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr "Найти в файлах"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Выберите каталог"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "Новый файл"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "Переименовать"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Закрыть: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "Закрыть дочерние документы"
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "Скопировать полный путь в буфер обмена"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Развернуть всё"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Свернуть всё"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "Показывать закладки"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Показывать скрытые файлы"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "Показывать панель инструментов"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "Файл '%s' существует, вы действительно хотите его заменить?"
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr "Перейти на уровень вверх"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Обновить"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Домой"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Установить путь из документа"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr "Перейти к текущему файлу"
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Скрыть панель инструментов"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Строка адреса"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr "Дерево файлов"
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Внешняя команда"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr "Терминал, используемый командой \"Открыть терминал\""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr "Панель инструментов"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Скрытая"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Верх"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "Низ"
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "If position is changed, the option require plugin restart."
      msgstr "Изменение положения требует перезапуска плагина"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Show icons"
      msgstr "Показывать иконки"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Нет"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "Базовые"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "Тип файла"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Показывать скрытые файлы"
      
      #: ../treebrowser/src/treebrowser.c:2006
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      "В ОС Windows, эта опция скрывает файлы, имена которых начинаются с символа "
      "'.' (dot)"
      
      #: ../treebrowser/src/treebrowser.c:2008
      msgid "Hide object files"
      msgstr "Не показывать объектные файлы"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr "Инвертировать фильтр"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Следовать пути текущего документа"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "Одиночный клик открывает документ"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Двойной клик открывает каталог"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "При удалении файла, закрывать его если открыт"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr "Передать фокус редактору при открытии файла"
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Показывать соединительные линии"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Показывать закладки"
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr "Открыть новый файл"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Перейти к списку файлов"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "Перейти к строке адреса"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "Переименовать объект"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "Новый файл"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Выберите каталог"
      
      #: ../treebrowser/src/treebrowser.c:2149
      #, fuzzy
      msgid "Track Current"
      msgstr "Перейти к текущему файлу"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "Проверка обновлений"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr "Проверяет наличие обновлений для Geany"
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "Доступна более новая версия Geany: %s"
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr "Установлена самая последняя версия Geany."
      
      #: ../updatechecker/src/updatechecker.c:217
      #, 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:289
      msgid "Run updatecheck on startup"
      msgstr "Проверять обновления при старте"
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr "Веб ассистент"
      
      #: ../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 ""
      "Отображает веб-страницу, которая обновляется при сохранении соответствующего "
      "ей документа, а также предоставляет инструменты для анализа и отладки (Web-"
      "инспектор). Использует WebKit."
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr "Просмотр Веб"
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr "Просмотр Веб"
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr "Обновлять страницу при сохранении её документа"
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr "Автообновление страницы"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr "Перезагружать ли страницу в браузере при сохранении документа"
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr "Последний посещённый URI"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr "Последний URI просмотренный в браузере"
      
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "List of bookmarks"
      msgstr "Список закладок"
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr "Ориентация браузера"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr "Ориентация окна браузера"
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr "Положение окна браузера"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Расположение окна браузера в Geany"
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr "Размеры отдельного окна браузера"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr "Последние сохранённые размеры отдельного окна браузера"
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr "Размер окна инспектора"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr "Последние сохранённые размеры окна инспектора"
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr "Инспектор отсоединён"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr "Инспектор в отдельном окне или внутри браузера"
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr "Не показывать окна плагина в панели задач"
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr "Дать указание менеджеру окон не показывать окна плагина в панели задач"
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr "Окна плагина не перекрывают родительское окно"
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr "Запрещать ли окнам плагина перекрывать родительское окно"
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr "Тип окон"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr "Тип окон плагина"
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr "Включить Веб-инспектор"
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr "Показать/Скрыть окно браузера"
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr "Переключить закладку для текущего сайта"
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Браузер"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "Окна"
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Создать новый каталог"
      
      #: ../workbench/src/dialogs.c:74
      #, fuzzy
      msgid "Open workbench"
      msgstr "Открыть при"
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "Открыть при"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Найти тег проекта"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      #, fuzzy
      msgid "_Add"
      msgstr "_И то и другое"
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "Файл проекта \"%s\" уже существует"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Добавить внешний каталог"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "Параметры окружения"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      #, fuzzy
      msgid "_OK"
      msgstr "_ОК"
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "Шаблоны файлов с исходным текстом:"
      
      #: ../workbench/src/dialogs.c:238
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      "Разделённый пробелами список шаблонов, которые используются для определения "
      "файлов, не отображаемых в дереве файлов проекта."
      
      #: ../workbench/src/dialogs.c:249
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      "Разделённый пробелами список шаблонов, которые используются для определения "
      "файлов, не отображаемых в дереве файлов проекта."
      
      #: ../workbench/src/dialogs.c:260
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      "Разделённый пробелами список шаблонов, которые используются для определения "
      "каталогов, не просматриваемых на предмет наличия файлов проекта."
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      #, fuzzy
      msgid "Workbench settings"
      msgstr "Параметры окружения"
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "Индексировать все файлы проекта:"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, fuzzy, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "Не удалось загрузить файл с параметрами отладки %s: %s."
      
      #: ../workbench/src/menu.c:122
      #, fuzzy, c-format
      msgid "Could not open workbench file: %s"
      msgstr "Не удалось загрузить файл с параметрами отладки %s: %s."
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr "Не удалось загрузить файл с параметрами отладки %s: %s."
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "Настройки"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "Закрыть: %s"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "Не удалось загрузить файл с параметрами отладки %s: %s."
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Найти тег проекта"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Новый проект"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Переименовать объект"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "Найти тег проекта"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "Добавить внешний каталог"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Отменить изменения для каталога"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Отменить изменения для каталога"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "_Каталог"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "Показать разницу для каталога"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "%s: нет такого файла или каталога"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "Создать новый каталог"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "Открыть файл с подписью"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "Развернуть всё"
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "Свернуть всё"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "Удалить закладку"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "Базовые"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "Новый каталог"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Проект"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "_Каталог"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "_Базовый каталог"
      
      #: ../workbench/src/wb_project.c:945
      #, fuzzy
      msgid "File Patterns:"
      msgstr "Шаблоны игнорируемых файлов:"
      
      #: ../workbench/src/wb_project.c:957
      #, fuzzy
      msgid "Ignored Dir. Patterns:"
      msgstr "Шаблоны игнорируемых файлов:"
      
      #: ../workbench/src/wb_project.c:969
      #, fuzzy
      msgid "Ignored File Patterns:"
      msgstr "Шаблоны игнорируемых файлов:"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, fuzzy, c-format
      msgid "Number of Files: %u\n"
      msgstr "Номер тома"
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Проект"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Закрыть: %s"
      
      #: ../workbench/src/wb_project.c:1008
      #, fuzzy, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Номер тома"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, fuzzy, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "Файл \"%s\" существует, но не является обычным файлом"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr "XML Сниппеты"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Автоматически завершает XML/HTML теги с использованием сниппетов"
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "Создать новый файл"
      
      #, fuzzy
      #~ msgid "E_xpand all"
      #~ msgstr "Развернуть всё"
      
      #~ msgid "Create New File"
      #~ msgstr "Создать новый файл"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Создать новый каталог"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "Показ документации на слово под курсором"
      
      #~ msgid "Column mode, select to line / brace / anchor."
      #~ msgstr "Режим выделения по столбцам, выделение до строки / скобки / анкера"
      
      #~ msgid "Insert/Fill columns with numbers."
      #~ msgstr "Заполняет выделенные столбцы числами"
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "Пишите и запускайте сценарии на Lua как пользовательские команды"
      
      #~ msgid "gpg encryption plugin for geany"
      #~ msgstr "Модуль шифрования gpg для Geany"
      
      #~ msgid "Alternative project support."
      #~ msgstr "Альтернативная реализация поддержки проектов"
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Интерфейс к системам контроля версий"
      
      #~ msgid "Formats an XML and makes it human-readable."
      #~ msgstr "Форматирует XML, чтобы улучшить его восприятие человеком"
      
      #~ msgid "Relatively simple GDB front-end."
      #~ msgstr "Относительно простая обёртка над GDB"
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Сдвигает выделенный текст влево или вправо"
      
      #~ msgid "Delete"
      #~ msgstr "Удалить"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #~ msgid "Failed to import manager module"
      #~ msgstr "Не удалось импортировать управляющий модуль"
      
      #~ msgid "Failed to retrieve PluginManager from manager module"
      #~ msgstr "Не удалось получить PluginManager из управляющего модуля"
      
      #~ msgid "System plugin directory not found."
      #~ msgstr "Системный каталог с модулями не найден."
      
      #~ msgid "Unable to instantiate new PluginManager"
      #~ msgstr "Невозможно создать экземпляр PluginManager"
      
      #~ msgid "Unable to get show_all() method on plugin manager"
      #~ msgstr "Невозможно получить метод show_all() в менеджере модулей"
      
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "Невозможно создать каталог модулей Python: %s: %s"
      
      #~ msgid "Python Plugin Manager"
      #~ msgstr "Менеджер модулей Python"
      
      #~ 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"
      
      #~ 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 ""
      #~ "\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.32/po/nl.po0000644000175000017500000056075013204251613016110 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Bladwijzers"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "Toevoegingen"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Verscheidene kleine toevoegingen voor Geany"
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "Schakel naar bladwijzerlijst"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Schakel naar takenlijst"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Update takenlijst"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "XML labelen uitvoeren"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr "Plug-in configuratiemap kon niet worden aangemaakt."
      
      #: ../addons/src/addons.c:494
      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:498
      msgid "Sort documents by _name"
      msgstr "Sorteer documenten op _naam"
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr "Sorteer de documenten in de lijst op hun bestandsnaam"
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr "Sorteer documenten op aantal v_oorkomens"
      
      #: ../addons/src/addons.c:505
      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:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Sorteer documenten op aantal v_oorkomens (achteruit)"
      
      #: ../addons/src/addons.c:510
      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:537
      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:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Laat beschikbare taken in het berichtenvenster zien"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Laat alle taken van alle documenten zien"
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "Geef een lijst van zoektermen gescheiden door puntkommas"
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr "Zoektermen:"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Laat het status icoon in het Meldingsgebied"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Laat bladwijzers (gemarkeerde regels) in de zijbalk zien"
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr "Markeer alle verschijningen van een gedubbelklikt woord"
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "Verwijder lege regels aan het einde van het bestand"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "XML labelen voor selectie"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      #, fuzzy
      msgid "Auto-close"
      msgstr "Auteur:"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      msgid "Move cursor to beginning"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      msgid "Improved auto-indentation"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr "Implementatie extensies"
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr "Header extensies"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr ""
      
      #: ../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 ""
      
      #. 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:42
      #, fuzzy
      msgid "Commander"
      msgstr "Commando 0:"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      msgid "Show Command Panel"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:776
      msgid "Show Command Panel (Commands Only)"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:780
      msgid "Show Command Panel (Files Only)"
      msgstr ""
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr ""
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr ""
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Naam"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Waarde"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr "Kies doelbestand"
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Doel:"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr ""
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr ""
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr "Commandoregel argumenten"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "Omgevingsvariabelen"
      
      #. 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 "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:526
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Programma ontving een signaal"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Laad doelbestand.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:784
      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:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      msgid "Target"
      msgstr "Doel"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "Breekpunten"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:140
      #, fuzzy
      msgid "Autos"
      msgstr "Auteur:"
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr "Debug terminaalvenster"
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "Debugger berichten"
      
      #
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "Start / Ga door"
      
      #: ../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 "Herstart"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr "Stap erin"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr "Stap over"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr "Stap eruit"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr "Ga door tot cursor"
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "Voeg breekpunt toe (of verwijder)"
      
      #: ../debugger/src/keys.c:56
      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:257
      msgid "To edit source files stop debugging session"
      msgstr "Stop debug sessie om bronbestanden te wijzigen"
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Start"
      
      #
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Laad instellingen"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "Dubbel paneelmodus"
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr "Ga door"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr "Ontwikkelaars info 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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Kon configuratie map niet creëren op '%s'"
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Kon default configuratie niet ophalen: %s"
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Kon default configuratie niet wegschrijven: %s"
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      #, fuzzy
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "gpg encryptie plugin voor geany"
      
      #: ../geanyctags/src/geanyctags.c:145
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: map bestaat niet."
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      #, fuzzy
      msgid "Find Tag"
      msgstr "Zoek:"
      
      #: ../geanyctags/src/geanyctags.c:529
      #, fuzzy
      msgid "_Search for:"
      msgstr "Zoek naar:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      #, fuzzy
      msgid "pattern"
      msgstr "Brief"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "Hoofdlettergevoelig"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      #, fuzzy
      msgid "_Declaration"
      msgstr "Relationeel"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      #, fuzzy
      msgid "Generate tags"
      msgstr "Algemeen"
      
      #: ../geanyctags/src/geanyctags.c:654
      #, fuzzy
      msgid "Find tag..."
      msgstr "Zoek:"
      
      #: ../geanyctags/src/geanyctags.c:659
      #, fuzzy
      msgid "Find tag"
      msgstr "Zoek volgende"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Kon uitvoer van commando niet parsen."
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Commando 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Commando 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "Meer selecteeropties"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      #, fuzzy
      msgid "Convert selection"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr "Herlaad configuratie bestanden"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Forceer herladen van configuratiebestanden"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "Wijzig huidige taalconfiguratie"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr "Open het huidige taalconfiguratiebestand om te wijzigen"
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr "Open handleiding"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "Open de handleiding in een browser"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr ""
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Algemeen"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr ""
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "Kies het soort document dat je wilt schrijven"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Artikel"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Rapport"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Brief"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Presentatie:"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr ""
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr "Auteur:"
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr ""
      
      #: ../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 ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../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/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 ""
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Insert _Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr ""
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      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 ""
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      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:381
      msgid "_Lua Scripts"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:412
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:588
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:599
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:170
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:176
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      #, 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:2261
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Ga naar begin van de regel"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr "Ga naar bewaarde positie op de regel"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr "Ga naar positie in huidige regel"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Ga naar het eind van de regel"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr "Gebruikte libgpgme versie:"
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr "Error van"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Codeer"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "Signeer"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "Decodeer / Verifiëer"
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      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:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Nieuw project"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "Project"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Verwijder project"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Voeg bestand toe"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Voorkeuren"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Verberg zijbalk"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr ""
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Projekt \"%s\" geopend."
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, 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:415
      #, fuzzy
      msgid "GeanyPy"
      msgstr "GeanyVB"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVB"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, 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:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "Er zijn geen wijzigingen gemaakt."
      
      #: ../geanyvc/src/geanyvc.c:739
      #, fuzzy
      msgid "No history available"
      msgstr "Geen geschiedenis beschikbaar."
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Wil je echt de wijzigingen in \"%s\" terugdraaien?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Wil je echt \"%s\" toevoegen?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Wil je echt \"%s\" verwijderen"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Wil je echt updaten?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "Doorvoeren J/N"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Toestand"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Pad"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Doorvoeren"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "(De-)selecteer alle bestanden"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "Doorvoer commentaar:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr "Doorvoeren"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "Niets door te voeren."
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "Fout tijdens spellingscontrole-initialisatie: \"%s\""
      
      #: ../geanyvc/src/geanyvc.c:1887
      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:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "Bevestig het toevoegen van nieuwe bestanden aan VBS."
      
      #: ../geanyvc/src/geanyvc.c:1901
      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:1907
      msgid "Maximize commit dialog"
      msgstr "Maximaliseer doorvoer dialoog."
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "Laat doorvoer dialoog maximalisatie zien."
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Gebruik externe diff viewer"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "Gebruik externe diff viewer voor bestanden."
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "Laat VB entries zien bij editor menu"
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Laat entries voor VB functies in editor menu"
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "Spellingscontroletaal"
      
      #: ../geanyvc/src/geanyvc.c:2061
      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:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2070
      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:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "Draai terug"
      
      #: ../geanyvc/src/geanyvc.c:2078
      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:2087
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2100
      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:2105
      msgid "_Original"
      msgstr "Origineel"
      
      #: ../geanyvc/src/geanyvc.c:2108
      #, 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:2116
      msgid "_Add to Version Control"
      msgstr "Voeg aan Versie Beheer toe"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Voeg bestand aan opslagplaats toe."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "Verwijder van Versie Beheer"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Verwijder bestand van opslagplaats."
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "Map"
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "Basismap"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "VB doorvoeren"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Laat verschil tussen bestanden zien"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Laat verschil tussen mappen zien"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Laat verschil van basismap zien"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "Voer wijzigingen door"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Laat toestand zien"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Draai wijzigingen van bestand terug"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Draai wijzigingen map terug"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Draai wijzigingen basismap terug"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Update bestand"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "VB"
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "Versie Beheer"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "Toestand"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Laat toestand zien."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Update van opslagplaats op afstand"
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "Doorvoeren"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Voer wijzigingen door."
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "Kon de inhoud niet als XML interpreteren."
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "Kon configuratie map niet creëren op \"%s\": '%s'"
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      #, fuzzy
      msgid "Unexpected response from the pastebin service."
      msgstr "Onverwachte fout in pinentry"
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:914
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Kon configuratie bestand '%s' niet inlezen"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, 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:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Kon configuratiebestand niet wegschrijven: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Ga naar vorige string"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Ga naar volgende bladzijde"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, 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'"
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Verwijder bestand"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "Verwijder bestand"
      
      #: ../lineoperations/src/lineoperations.c:263
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Verwijder bestand"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Binaire operatoren"
      
      #: ../lineoperations/src/lineoperations.c:320
      #, fuzzy
      msgid "Line Operations"
      msgstr "Binaire operatoren"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      msgid "Lipsum"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      msgid "_Lipsum..."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      msgid "Save HTML File As"
      msgstr ""
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "Voeg bestand toe"
      
      #: ../markdown/src/plugin.c:322
      #, fuzzy, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "Kon configuratie bestand '%s' niet inlezen"
      
      #: ../multiterm/src/config.vala:47
      #, 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
      #, 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
      #, fuzzy
      msgid "Move to message window"
      msgstr "_Verberg berichtenvenster"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "Ga naar begin van de regel"
      
      #: ../multiterm/src/context-menu.vala:81
      #, fuzzy
      msgid "Open Tab"
      msgstr "Open terminalvenster"
      
      #: ../multiterm/src/context-menu.vala:96
      #, fuzzy
      msgid "Open Window"
      msgstr "Open URI"
      
      #: ../multiterm/src/context-menu.vala:103
      #, fuzzy
      msgid "Next tab"
      msgstr "Volgende string"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      #, fuzzy
      msgid "Previous tab"
      msgstr "Vorige string"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Laat toestand zien"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "Kon default configuratie niet wegschrijven: %s"
      
      #: ../multiterm/src/notebook.vala:202
      #, fuzzy
      msgid "New terminal"
      msgstr "Laat regels van boom zien"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      #, fuzzy
      msgid "Terminal"
      msgstr "Open terminalvenster"
      
      #: ../multiterm/src/tab-label.vala:84
      #, fuzzy
      msgid "Close terminal"
      msgstr "Laat regels van boom zien"
      
      #: ../multiterm/src/terminal.vala:88
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Kon default configuratie niet wegschrijven: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching 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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      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:1557
      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:1554
      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:1560
      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:40
      msgid "Translation Helper"
      msgstr "Vertalingshulp"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr "Verbetert ondersteuning van GetText vertalingsbestanden."
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Vertaald: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr "Onduidelijk: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Onvertaald: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr "Plak originele onvertaalde string naar vertalingsveld"
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, 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:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr "Kon de inhoud niet als XML interpreteren."
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:40
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Project voorkeuren"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Zoek in projectbestanden"
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Zoek in projectbestanden"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Zoek projectfile"
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Zoek projectfile"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Zoek projectfile"
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Zoek projectfile"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Zoek in projectbestanden"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      #, fuzzy
      msgid "Yes"
      msgstr "ja"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      #, fuzzy
      msgid "No"
      msgstr "Nee."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      msgid "Find File"
      msgstr "Zoek bestand"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr "Zoek in:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      #, fuzzy
      msgid "project or external directory"
      msgstr "Creër nieuwe map"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Kies map:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      #, fuzzy
      msgid "Add"
      msgstr "Toevoegingen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Zoek bestand"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      #, fuzzy
      msgid "Add external directory"
      msgstr "Draai wijzigingen map terug"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Alles uitvouwen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "Alles uitvouwen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Zoek in bestanden"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      #, fuzzy
      msgid "Find File..."
      msgstr "Zoek bestand"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Zoek bestand"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      #, 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:521
      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:521
      #, 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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, fuzzy, c-format
      msgid "%s: %s."
      msgstr "Sluit: %s"
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr ""
      
      #
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      #, fuzzy
      msgid "Run/continue"
      msgstr "Start / Ga door"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      #, fuzzy
      msgid "Run to source"
      msgstr "Ga door tot cursor"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      #, fuzzy
      msgid "Terminate"
      msgstr "Open terminalvenster"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "Breekpunten"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr ""
      
      #: ../scope/src/scope.c:74
      #, fuzzy
      msgid "Show terminal"
      msgstr "Laat regels van boom zien"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr ""
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      #, fuzzy
      msgid "Breaks"
      msgstr "Breekpunten"
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      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: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:"
      
      #: ../sendmail/src/sendmail.c:45
      msgid "SendMail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:46
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr ""
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:322
      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 ""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "Laat Hulpmiddelenbalk pictogram"
      
      #: ../sendmail/src/sendmail.c:334
      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."
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr ""
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:299
      #, 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:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Controleert bestand \"%s\" (dmv. %s):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "The gecontroleerde tekst is korrekt gespeld"
      
      #: ../spellcheck/src/speller.c:345
      #, 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:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "onbekende fout (misschien is de gekozen taal niet beschikbaar)"
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr "Spellingscontrole"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Controleert de spelling in het huidige bestand"
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Draai spellingscontrole"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Kies map:"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr "Zet spellingscontrole item in de hulpmiddelenbalk"
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:293
      #, 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:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Geef verkeerd gespelde woorden en suggesties in berichtenvenster weer"
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Controleer spelling gedurende het typen"
      
      #: ../spellcheck/src/scplugin.c:329
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Controleer spelling gedurende het typen"
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Te gebruiken taal voor spellingscontrole:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "Map om maar woordenboekbestanden te zoeken:"
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:385
      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:41
      msgid "Shift Column"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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: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 "Er ging iets fout met het interpreteren van de selectie. Afgebroken."
      
      #: ../tableconvert/src/tableconvert.c:328
      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
      #, fuzzy
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(Leeg)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Kon extern geconfigureerde commando '%s' (%s) niet uitvoeren."
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewDirectory"
      msgstr "NieuweMap"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "NieuwBestand"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, 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:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Wil je echt '%s' verwijderen?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      msgid "Go _Up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "Zet pad van document"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "Open extern"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "Open terminalvenster"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "Stel in als begin"
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "Ververs"
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr "Zoek in bestanden"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "NieuwBestand"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "Hernoem"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Sluit: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "Sluit "
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "Kopiëer volledig padnaam naar klembord"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Alles uitvouwen"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Alles samenvouwen"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "Laat bladwijzers zien"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Laat verborgen bestanden zien"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "Laat balk met hulpmiddelen zien"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, 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:1743
      msgid "Go up"
      msgstr "Ga naar boven"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Ververs"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Thuis"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Zet pad van document"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr "Volg pad"
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Verberg balken"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Adresregel, bijvoorbeeld '/projecten/mijn-project'"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Extern commando op te openen"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr "Hulpmiddelenbalk"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Verborgen"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Bovenaan"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "Onderaan"
      
      #: ../treebrowser/src/treebrowser.c:1987
      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:1991
      msgid "Show icons"
      msgstr "Laat pictogrammen zien"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Geen"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "Basis"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "Inhouds-type"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Laat verborgen bestanden zien"
      
      #: ../treebrowser/src/treebrowser.c:2006
      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:2008
      msgid "Hide object files"
      msgstr "Verberg object bestanden"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr "Keer filter om"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Volg huidige directory"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "Enkele klik, open document en zet op de voorgrond"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Dubbelklik, open map"
      
      #: ../treebrowser/src/treebrowser.c:2035
      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:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Laat regels van boom zien"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Laat bladwijzers zien"
      
      #: ../treebrowser/src/treebrowser.c:2057
      #, fuzzy
      msgid "Open new files"
      msgstr "Creër nieuw bestand"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Zet bestandslijst op voorgrond"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "Zet pad entry op voorgrond"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "Hernoem object"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "NieuwBestand"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../treebrowser/src/treebrowser.c:2149
      #, fuzzy
      msgid "Track Current"
      msgstr "Volg pad"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "Update controleur"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Laat bladwijzers zien"
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr ""
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Creër nieuwe map"
      
      #: ../workbench/src/dialogs.c:74
      #, fuzzy
      msgid "Open workbench"
      msgstr "Open URI"
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "Open URI"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Zoek projectfile"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "Project bestand \"%s\" bestaat al"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Draai wijzigingen map terug"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "Map"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "Brief"
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "Zoek in projectbestanden"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, fuzzy, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "Tijdelijk bestand kon niet aangemaakt worden"
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr "Kon configuratiebestand niet wegschrijven: %s"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "Laad instellingen"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "Sluit: %s"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "Zoek in projectbestanden"
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Zoek projectfile"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Nieuw project"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Hernoem object"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "Zoek projectfile"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "Draai wijzigingen map terug"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Draai wijzigingen map terug"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Draai wijzigingen map terug"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "Map"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "Laat verschil tussen mappen zien"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "Creër nieuwe map"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "Creër nieuwe map"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "Open handtekeningsbestand"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "Alles uitvouwen"
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "Alles samenvouwen"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "Verwijder bladwijzer"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "Basis"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "NieuweMap"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Nieuw project"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "Map"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "Basismap"
      
      #: ../workbench/src/wb_project.c:945
      msgid "File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, c-format
      msgid "Number of Files: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Project"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Sluit: %s"
      
      #: ../workbench/src/wb_project.c:1008
      #, c-format
      msgid "Number of Directories: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr "XML Snippers"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Completeerd automatisch XML/HTML labels."
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "Creër nieuw bestand"
      
      #, fuzzy
      #~ msgid "E_xpand all"
      #~ msgstr "Alles uitvouwen"
      
      #~ msgid "Create New File"
      #~ msgstr "Creër nieuw bestand"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Creër nieuwe map"
      
      #~ msgid "gpg encryption plugin for geany"
      #~ msgstr "gpg encryptie plugin voor geany"
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Interface voor diverse revisiebeheerprogramma's."
      
      #~ msgid "Delete"
      #~ msgstr "Verwijder"
      
      #, fuzzy
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "Kon configuratie map niet creëren op '%s'"
      
      #~ 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\""
      
      #~ 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.32/po/pt_BR.po0000644000175000017500000065045113204251613016503 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Marcadores"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "Complementos"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Diversos pequenos complementos para o Geany."
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "Focar Lista de Bookmarks"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Focar Lista de Tarefas"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Atualizar Lista de Tarefas"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "Executar rotulação de XML"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      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:494
      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:498
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:505
      #, 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:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:537
      #, 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:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Exibir Tarefas disponíveis na Janela de Mensagens"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Exibir tarefas de todos os documentos"
      
      #: ../addons/src/addons.c:553
      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:560
      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:562
      msgid "Search tokens:"
      msgstr "Pesquisar símbolos:"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Exibir ícone de estado na Área de Notificação"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Exibir bookmarks definidos (linhas marcadas) na barra lateral"
      
      #: ../addons/src/addons.c:591
      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:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "Remover linhas em branco no final"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "Rotular XML para seleção"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "Não definir nenhum encoding"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Orientação do Papel:"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      #, fuzzy
      msgid "Suppress double-completion"
      msgstr "Modo de auto-completação"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Seleção Extra"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "Definir seleção um nível para baixo"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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: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 ""
      
      #: ../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çalhos"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Padrã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 ""
      
      #. 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:42
      #, fuzzy
      msgid "Commander"
      msgstr "Comando 0:"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      #, fuzzy
      msgid "Show Command Panel"
      msgstr "Nome do Comando:"
      
      #: ../commander/src/commander-plugin.c:776
      #, fuzzy
      msgid "Show Command Panel (Commands Only)"
      msgstr "Nome do Comando:"
      
      #: ../commander/src/commander-plugin.c:780
      #, fuzzy
      msgid "Show Command Panel (Files Only)"
      msgstr "Nome do Comando:"
      
      #: ../debugger/src/plugin.c:55
      #, fuzzy
      msgid "Debugger"
      msgstr "Depurar"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "Depurar"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      #, fuzzy
      msgid "Name"
      msgstr "Nome:"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:251
      #, fuzzy
      msgid "Target:"
      msgstr "large"
      
      #: ../debugger/src/tpage.c:254
      #, fuzzy
      msgid "Browse"
      msgstr "Navegar..."
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      #, fuzzy
      msgid "Debugger:"
      msgstr "Depurar"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      #, fuzzy
      msgid "Command Line Arguments"
      msgstr "Nome do Comando:"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      #, fuzzy
      msgid "Environment Variables"
      msgstr "/Ambientes"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:259 ../debugger/src/envtree.c:365
      #: ../debugger/src/debug.c:263
      #, 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:526
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "O programa recebeu sinal:"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, fuzzy, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Programa encerrado com código %d [%s]\n"
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      #, fuzzy
      msgid "Target"
      msgstr "large"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "Pontos de quebra"
      
      #: ../debugger/src/tabs.c:137
      #, fuzzy
      msgid "Watch"
      msgstr "Pontos de observação"
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      #, fuzzy
      msgid "Call Stack"
      msgstr "_Empilhar"
      
      #: ../debugger/src/tabs.c:146
      #, fuzzy
      msgid "Debug Terminal"
      msgstr "Executar no terminal"
      
      #: ../debugger/src/tabs.c:149
      #, fuzzy
      msgid "Debugger Messages"
      msgstr "Depurar"
      
      #: ../debugger/src/keys.c:48
      #, fuzzy
      msgid "Run / Continue"
      msgstr "Contando..."
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      #, fuzzy
      msgid "Restart"
      msgstr "iniciando"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      #, fuzzy
      msgid "Step into"
      msgstr "Step _in"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      #, fuzzy
      msgid "Step out"
      msgstr "Step _in"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      #, fuzzy
      msgid "Run to cursor"
      msgstr "Executar até o local"
      
      #: ../debugger/src/keys.c:55
      #, fuzzy
      msgid "Add / Remove breakpoint"
      msgstr "Inclui ou remove pontos de quebra."
      
      #: ../debugger/src/keys.c:56
      #, 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:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      #, fuzzy
      msgid "Run"
      msgstr "Executa_r"
      
      #: ../debugger/src/btnpanel.c:131
      #, fuzzy
      msgid "Settings"
      msgstr "definição"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:153
      #, fuzzy
      msgid "Continue"
      msgstr "Contando..."
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, fuzzy, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, fuzzy, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, fuzzy, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      #, fuzzy
      msgid "Toggle documentation tab"
      msgstr "tipo de documentação"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:145
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: arquivo ou diretório não existente"
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:529
      #, fuzzy
      msgid "_Search for:"
      msgstr "Pesquisar símbolos:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      #, fuzzy
      msgid "prefix"
      msgstr "_Prefixo base"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      #, fuzzy
      msgid "pattern"
      msgstr "Letter"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      #, fuzzy
      msgid "_Declaration"
      msgstr "Relacional"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      #, fuzzy
      msgid "Generate tags"
      msgstr "Geral"
      
      #: ../geanyctags/src/geanyctags.c:654
      #, fuzzy
      msgid "Find tag..."
      msgstr "Incluir Arquivo"
      
      #: ../geanyctags/src/geanyctags.c:659
      #, fuzzy
      msgid "Find tag"
      msgstr "Incluir Arquivo"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Não foi possível reconhecer a saída do comando"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "Colocar saída no buffer"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Comando 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Comando 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w será substituída pela palavra atual\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "Palavra atual do documento"
      
      #: ../geanydoc/src/geanydoc.c:435
      msgid "Document interactive"
      msgstr "Documento interativo"
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "Seleção 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 "Seleciona até a linha"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "Selecionar até o C_olchete Casado"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "Selecionar até o colchete casado"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      #, fuzzy
      msgid "Convert selection"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      #, fuzzy
      msgid "Select to _Anchor"
      msgstr "Selecionar até _Linha"
      
      #: ../geanyextrasel/src/extrasel.c:546
      #, fuzzy
      msgid "Select to anchor"
      msgstr "Seleciona até a linha"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr "Gerador de Documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr "Gera documentação base a partir do código-fonte"
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Falha ao salvar 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 arquivo de configuração para o tipo de arquivo \"%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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, 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:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr "Inserir Comentário de Documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr "Símbolo Atual do _Documento"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr "Gerar documentação para o símbolo atual"
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr "Document_ar Todos os Símbolos"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      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:508
      msgid "_Reload Configuration Files"
      msgstr "_Recarregar Arquivos de Configuração"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Forçar recarga dos arquivos de configuração"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "_Editar Configuração da Linguagem Atual"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      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:525
      msgid "Open _Manual"
      msgstr "Abrir _Manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "Abrir o manual em um navegador"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr "Gerador de _Documentação"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Geral"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "_Salvar o arquivo antes de gerar a documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr "Endentar documentação _inserida"
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      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:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo de Documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr "Ambiente global"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      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:202 ../geanygendoc/src/ggd-utils.c:213
      #, 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:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Inserir Números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "Contando..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "Preparando..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "Inserindo..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr "Para base 11 e acima"
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "_Início:"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "_Passo:"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Letras:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "Maiúsc_ulas"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "_Minúscul_o"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "_Prefixo base"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 para octal, 0x para hexa, + para decimal positivo"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr "Padding:"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "Esp_aço"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "_Zero"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr "Executar assistente LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "Marca o texto selecionado como itálico"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Marca o texto selecionado como 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 "Centralizado"
      
      #: ../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 script KOMA por padrão"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "Exibir barra de plugins extra"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr "Não se preocupe com esse plugin interno"
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Sempre executar auto-completação no LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr "Modo de auto-completação"
      
      #: ../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 Pa_drão"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Referẽncia de _Página"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr "Incluir _Ambos"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Mais"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr "Incluir 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 de pacote:"
      
      #: ../geanylatex/src/geanylatex.c:1266
      #, fuzzy
      msgid "Insert BibTeX Reference"
      msgstr "Inserir Referẽncia"
      
      #: ../geanylatex/src/geanylatex.c:1279
      #, fuzzy
      msgid "BibTeX reference name:"
      msgstr "Nome da referência:"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "Prezado Sr. ou Sra."
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "Atenciosamente"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr "Nenhum template atribuído. Abortando."
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Template:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      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:1767
      msgid "Default"
      msgstr "Padrão"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "Documentclass:"
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "Escolha o tipo de documento que você quer escrever"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Article"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Report"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Letter"
      
      #: ../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 "Define a codificação para o seu novo documento"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      #, fuzzy
      msgid "Font size"
      msgstr "Tamanho da fonte:"
      
      #: ../geanylatex/src/geanylatex.c:1827
      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: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 ""
      "Define o valor do comando \\author. Na maioria dos casos, deve ser 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 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: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 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 de 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 a orientação do papel para o seu novo documento"
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "Usar classes KOMA-script 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 KOMA-script de Markus Kohm.\n"
      "Lembre-se: para compilar o seu documento essas classes devem estar "
      "previamente instaladas."
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr "Usar modo 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 ""
      "Define o flag draft dentro de novos documentos para obter documentos com "
      "ajudantes de depuração"
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "Executar LaTeX-Wizard"
      
      #: ../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 "Liga/Desliga a substituição de entrada"
      
      #: ../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 o diálogo Inserir Ambiente"
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "Inserir \\item"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "Formatar seleção em negrito"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "Formatar seleção em itálico"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "Formatar seleção em fonte máquina de escrever"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Formatar seleção centralizado"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Formatar seleção alinhada à 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 itemize"
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr "Inserir lista enumerate"
      
      #: ../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 para baixo"
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr "Inserir \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2004
      #, fuzzy
      msgid "Insert BibTeX reference dialog"
      msgstr "Inserir Referẽncia"
      
      #: ../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 é 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: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 inicializado com um valor "
      "inválido. Assumido valor padrão. Por favor, verifique o seu arquivo de "
      "configuração"
      
      #: ../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}}}, 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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX-_Wizard"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Inicia um Assistente para criar facilmente documentos LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr "I_nserir Caracter Especial"
      
      #: ../geanylatex/src/geanylatex.c:2151
      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:2161
      msgid "Insert _Reference"
      msgstr "Inserir _Referência"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr "Inserindo referências no documento"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "Inserir Rótu_lo"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "Ajuda a inserir rótulos em um documento"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "Inserir Ambi_ente"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "Ajuda a inserir um ambiente no documento"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "Inserir P_acote"
      
      #: ../geanylatex/src/geanylatex.c:2186
      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:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formatar"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "Tamanh_o da fonte"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "_Substituir Caracteres Especiais"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "Substitui_r Caracteres Especiais em Volume"
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "Substitui_r os caracteres especiais selecionados com substitutos TeX"
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "Alternar _Substituição de Caracteres Especiais"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "Inserir _Comando"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr "Inserindo comandos personalizados no documento"
      
      #: ../geanylatex/src/geanylatex.c:2282
      #, fuzzy
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      #, fuzzy
      msgid "Insert B_ibTeX reference"
      msgstr "Inserir _Referência"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      #, 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"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Construindo menu de '%s'\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "Nada para configurar!"
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Abrir arquivo"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Selecionar arquivo"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Navegar..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Selecionar Cor"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Escolher..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Selecionar Fonte"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Selecionar..."
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, 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:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: Falha ao inicializar biblioteca de apoio %s!\n"
      
      #: ../geanylua/geanylua.c:170
      #, 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:176
      #, 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:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: Biblioteca de apoio %s não encontrada!\n"
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      #, 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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      #, 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
      #: ../treebrowser/src/treebrowser.c:1256
      #, 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:2261
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      #, fuzzy
      msgid "Mini Script"
      msgstr "Script Lua"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #, fuzzy
      msgid "_Ignore"
      msgstr "Ignorar Tudo"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      #, fuzzy
      msgid "Error from"
      msgstr "Erro:"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      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:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Novo Projeto"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "_Projeto"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Excluir Projeto"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Incluir Arquivo"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferẽncias"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Ocultar S_idebar"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr "Projeto"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Projeto \"%s\" aberto."
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, fuzzy, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:415
      #, fuzzy
      msgid "GeanyPy"
      msgstr "GeanyGDB"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: s_spawn_sync error: %s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, 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:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "Nenhuma alteração foi feita."
      
      #: ../geanyvc/src/geanyvc.c:739
      #, fuzzy
      msgid "No history available"
      msgstr "Histórico não disponível"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Você deseja mesmo reverter: %s?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Você deseja mesmo incluir: %s?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Você deseja mesmo remover: %s?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Você deseja mesmo atualizar?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "Submeter S/N"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Estado"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Caminho"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Submeter"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "_De-/selecionar todos os arquivos"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "Mensagem de submeter:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      #, fuzzy
      msgid "C_ommit"
      msgstr "Submeter"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "Nada para submeter."
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, 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:1887
      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:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "Confirmar inclusão de novos arquivos em um SCV"
      
      #: ../geanyvc/src/geanyvc.c:1901
      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:1907
      msgid "Maximize commit dialog"
      msgstr "Maximizar diálogo de submeter"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "Exibe o diálogo de submeter maximizado. "
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Usar vizualizador de diff externo"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "Usar vizualizador externo de diff para diff de arquivos."
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "Exibir entradas VC no menu do editor"
      
      #: ../geanyvc/src/geanyvc.c:1924
      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:1929
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "Habilitar CVS"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "Habilitar GIT"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "Habilitar SVN"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "Habilitar SVK"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Habilitar Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Habilitar Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "Linguagem para verificação ortográfica"
      
      #: ../geanyvc/src/geanyvc.c:2061
      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:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2070
      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:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "_Reverter"
      
      #: ../geanyvc/src/geanyvc.c:2078
      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:2087
      msgid "_Blame"
      msgstr "_Culpar"
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "_Histórico (log)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      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:2105
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2108
      #, fuzzy
      msgid "Shows the original of the current file"
      msgstr "Exibe o original do arquivo atual"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "_Incluir no Controle de Versões"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Inclui arquivo no repositório."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "_Remover do Controle de Versões"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Remove arquivo do repositório."
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Directório"
      
      #: ../geanyvc/src/geanyvc.c:2147
      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:2156
      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:2166
      msgid "Shows the log of the current directory"
      msgstr "Exibe o log do diretório atual"
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "Diretório _Base"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr "Cria um diff do diretório topo do CV"
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr "Reverter quaisquer edições locais."
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr "Exibe o log do diretório topo do CV"
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "VC _Commit"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Exibir diff de arquivo"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Exibir diff de diretório"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Exibir diff do diretório base"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "Submeter alterações"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Exibir estado"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Reverter arquivo único"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Reverter diretório"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Reverter diretório base"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Atualizar arquivo"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "C_V"
      
      #: ../geanyvc/src/geanyvc.c:2322
      #, fuzzy
      msgid "_Version Control"
      msgstr "_Incluir no Controle de Versões"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "E_stado"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Exibe estado."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Atualizar do repositório remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "_Submeter"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Submete alterações."
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "Diretório %s não encontrado!\n"
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "posição inválida \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      #, 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:844
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "Falha ao abrir arquivo de script."
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      #, fuzzy
      msgid "The author name field is empty!"
      msgstr "Identificador de casamento está vazio"
      
      #: ../geniuspaste/src/geniuspaste.c:914
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "Selecionar arquivo"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, 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:1414 ../pohelper/src/gph-plugin.c:1623
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Retornar para o diálogo anterior."
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Pula para a próxima linha."
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, 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."
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Remover arquivo"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "Remover arquivo"
      
      #: ../lineoperations/src/lineoperations.c:263
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Remover arquivo"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Operação binária"
      
      #: ../lineoperations/src/lineoperations.c:320
      #, fuzzy
      msgid "Line Operations"
      msgstr "Operação binária"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      #, fuzzy
      msgid "Lipsum"
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Criação de texto modelo com o Geany"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Lipsum-Generator"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Informe o tamanho do texto Lipsum"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      #, fuzzy
      msgid "_Lipsum..."
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "Incluir Pseudotexto no seu código"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Inserir texto Lipsum"
      
      #. 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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      #, fuzzy
      msgid "Save HTML File As"
      msgstr "Salvar arquivo"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "Incluir Arquivo"
      
      #: ../markdown/src/plugin.c:322
      #, fuzzy, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "Falha ao carregar tipo de arquivo \"%s\" do arquivo \"%s\": %s"
      
      #: ../multiterm/src/config.vala:47
      #, 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
      #, 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
      #, fuzzy
      msgid "Move to message window"
      msgstr "_Ocultar Janela de Mensagens"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "Ocultar S_idebar"
      
      #: ../multiterm/src/context-menu.vala:81
      #, fuzzy
      msgid "Open Tab"
      msgstr "Abrir Terminal"
      
      #: ../multiterm/src/context-menu.vala:96
      #, fuzzy
      msgid "Open Window"
      msgstr "Abrir URI"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      #, fuzzy
      msgid "Previous tab"
      msgstr "Pesquisa em Projeto"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Exibir estado"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../multiterm/src/notebook.vala:202
      #, fuzzy
      msgid "New terminal"
      msgstr "Executar no terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      #, fuzzy
      msgid "Terminal"
      msgstr "terminado"
      
      #: ../multiterm/src/tab-label.vala:84
      #, fuzzy
      msgid "Close terminal"
      msgstr "Executar no terminal"
      
      #: ../multiterm/src/terminal.vala:88
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Falha ao construir comentário: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      #, fuzzy
      msgid "Go To Matching Tag"
      msgstr "Selecionar até o C_olchete Casado"
      
      #: ../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:1524
      #, 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:1527
      #, 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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      #, 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:1554
      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:1560
      #, 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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      #, fuzzy
      msgid "Unable to parse the content as XML."
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      #, fuzzy
      msgid "Empty nodes"
      msgstr "(Linha vazia)"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:425
      #, fuzzy
      msgid "Indentation"
      msgstr "Apresentação"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:40
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Preferẽncias do Projeto"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      #, fuzzy
      msgid "Find in project files"
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      #, fuzzy
      msgid "Find project file"
      msgstr "Ocultar arquivos de objeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Ocultar arquivos de objeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      #, fuzzy
      msgid "Header patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:634
      #, fuzzy
      msgid "No"
      msgstr "Não."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      #, fuzzy
      msgid "Find File"
      msgstr "Incluir Arquivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      #, fuzzy
      msgid "Search inside:"
      msgstr "Pesquisar símbolos:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      #, fuzzy
      msgid "project or external directory"
      msgstr "Criar novo diretório"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Selecionar diretório"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      #, fuzzy
      msgid "Add"
      msgstr "Complementos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Incluir Arquivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      #, fuzzy
      msgid "Reload all"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      #, fuzzy
      msgid "Add external directory"
      msgstr "Reverter diretório"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      #, fuzzy
      msgid "Expand All"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      #, fuzzy
      msgid "Find File..."
      msgstr "Incluir Arquivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Incluir Arquivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      #, 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:521
      #, 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:521
      #, 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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, fuzzy, c-format
      msgid "%s: %s."
      msgstr "%s:%u:%u: %s"
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      #, fuzzy
      msgid "Setup program"
      msgstr "nenhum programa"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      #, fuzzy
      msgid "Run/continue"
      msgstr "Contando..."
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      #, fuzzy
      msgid "Run to source"
      msgstr "Executar até o local"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      #, fuzzy
      msgid "Terminate"
      msgstr "terminado"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "ponto de quebra"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      #, fuzzy
      msgid "GDB command"
      msgstr "Inserir comando"
      
      #: ../scope/src/scope.c:74
      #, fuzzy
      msgid "Show terminal"
      msgstr "Executar no terminal"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      #, fuzzy
      msgid "Load"
      msgstr "C_arregar"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      #, fuzzy
      msgid "Breaks"
      msgstr "Pontos de quebra"
      
      #: ../scope/src/scope.c:525
      #, fuzzy
      msgid "Console"
      msgstr "Console:"
      
      #: ../scope/src/scope.c:525
      #, 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: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:"
      
      #: ../sendmail/src/sendmail.c:45
      #, fuzzy
      msgid "SendMail"
      msgstr "GeanySendMail"
      
      #: ../sendmail/src/sendmail.c:46
      #, 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"
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "Endereço do Destinatário"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "Insira o endereço de e-mail do destinatário:"
      
      #: ../sendmail/src/sendmail.c:143
      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."
      
      #: ../sendmail/src/sendmail.c:149
      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."
      
      #: ../sendmail/src/sendmail.c:163
      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."
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "Por favor, primeiro defina um cliente de e-mail."
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "O arquivo precisa ser salvo antes de ser enviado."
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "Correio"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "Enviar por correio"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "Caminho e opções para o cliente de e-mail:"
      
      #: ../sendmail/src/sendmail.c:322
      #, 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\""
      
      #: ../sendmail/src/sendmail.c:332
      #, fuzzy
      msgid "Show toolbar icon"
      msgstr "Exibir dicas de ferramentas."
      
      #: ../sendmail/src/sendmail.c:334
      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."
      
      #: ../sendmail/src/sendmail.c:340
      #, 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"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Enviar arquivo por e-mail"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "Enviar docu_mento"
      
      #: ../sendmail/src/sendmail.c:445
      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"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Tentar:"
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "Verificando"
      
      #: ../spellcheck/src/speller.c:299
      #, 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:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Verificando arquivo \"%s\" (usando %s):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "O texto verificado está escrito corretamente."
      
      #: ../spellcheck/src/speller.c:345
      #, 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:346
      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:46
      msgid "Spell Check"
      msgstr "Verificar Ortografia"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Verifica a ortografia do documento atual."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Executar verificação ortográfica"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Alternar Verificação ao Digitar"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Selecionar diretório"
      
      #: ../spellcheck/src/scplugin.c:284
      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:288
      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:293
      #, 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:308
      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:318
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Verificar ortografia ao digitar"
      
      #: ../spellcheck/src/scplugin.c:329
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Verificar ortografia ao digitar"
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Linguagem a usar para a verificação ortográfica:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "_Diretório a pesquisar para arquivos de dicionário:"
      
      #: ../spellcheck/src/scplugin.c:354
      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:385
      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:41
      msgid "Shift Column"
      msgstr "Deslocar Coluna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "Deslocar para a Esquerda"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:328
      #, 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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      #, fuzzy
      msgid "(Empty)"
      msgstr "Vazio"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, 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:1044
      msgid "NewDirectory"
      msgstr "NovoDiretório"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "NovoArquivo"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Você quer mesmo excluir %s?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      msgid "Go _Up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "Definir caminho para o documento"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "Abrir externamente"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "Abrir Terminal"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "Definir como raiz"
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "Atualizar"
      
      #: ../treebrowser/src/treebrowser.c:1235
      #, fuzzy
      msgid "_Find in Files"
      msgstr "Pesquisa em Projeto"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Selecionar Cor"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "NovoArquivo"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "Renomear"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Fechar: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "Fec_har Outros Documentos"
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "Copiar caminho completo"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Expandir tudo"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Colapsar tudo"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "Exibir marcadores"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Exibir arquivos ocultos"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "Exibir barras"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr "Ir para cima"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Atualizar"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Home"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Definir caminho para o documento"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr "Rastrear caminho"
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Ocultar barras"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra de endereços por exemplo '/projetos/meu-projeto'"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr "Navegador em Árvore"
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Comando de abrir externo"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      #, 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:1991
      #, fuzzy
      msgid "Show icons"
      msgstr "Exibir ícones."
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1994
      #, fuzzy
      msgid "Base"
      msgstr "_Base:"
      
      #: ../treebrowser/src/treebrowser.c:1995
      #, fuzzy
      msgid "Content-type"
      msgstr "Conteúdos"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Exibir arquivos ocultos"
      
      #: ../treebrowser/src/treebrowser.c:2006
      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:2008
      msgid "Hide object files"
      msgstr "Ocultar arquivos de objeto"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr "Reverter filtro"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Seguir documento atual"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "Clique simples, abrir documento e focá-lo"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Duplo clique abre diretório"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "Ao excluir arquivo, fechá-lo se ele estiver aberto"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Exibir linhas da árvore"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Exibir marcadores"
      
      #: ../treebrowser/src/treebrowser.c:2057
      #, fuzzy
      msgid "Open new files"
      msgstr "Abrir arquivo"
      
      #: ../treebrowser/src/treebrowser.c:2137
      #, fuzzy
      msgid "Focus File List"
      msgstr "Focar Lista de Tarefas"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2141
      #, fuzzy
      msgid "Rename Object"
      msgstr "Renomear"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "NovoArquivo"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Selecionar Cor"
      
      #: ../treebrowser/src/treebrowser.c:2149
      #, fuzzy
      msgid "Track Current"
      msgstr "Rastrear caminho"
      
      #: ../updatechecker/src/updatechecker.c:40
      #, fuzzy
      msgid "Updatechecker"
      msgstr "At_ualizar"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Exibir marcadores"
      
      #: ../webhelper/src/gwh-plugin.c:334
      #, fuzzy
      msgid "Browser orientation"
      msgstr "Orientação do Papel:"
      
      #: ../webhelper/src/gwh-plugin.c:335
      #, fuzzy
      msgid "Orientation of the browser widget"
      msgstr "Chave de citação da entrada de referẽncia cruzada"
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      #, fuzzy
      msgid "Browser"
      msgstr "Navegador em Árvore"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Criar novo diretório"
      
      #: ../workbench/src/dialogs.c:74
      #, fuzzy
      msgid "Open workbench"
      msgstr "Abrir URI"
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "Abrir URI"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Ocultar arquivos de objeto"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      #, fuzzy
      msgid "_Add"
      msgstr "Incluir _Ambos"
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "Arquivo de projeto \"%s\" já existe"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Reverter diretório"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "Definições do ambiente"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      #, fuzzy
      msgid "Workbench settings"
      msgstr "Definições do ambiente"
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "Pesquisa em Projeto"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, fuzzy, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "Criar novo arquivo"
      
      #: ../workbench/src/menu.c:122
      #, fuzzy, c-format
      msgid "Could not open workbench file: %s"
      msgstr "Falha ao carregar tipo de arquivo \"%s\" do arquivo \"%s\": %s"
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr "Falha ao carregar tipo de arquivo \"%s\" do arquivo \"%s\": %s"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "definição"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "Fechar: %s"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "Falha ao carregar tipo de arquivo \"%s\" do arquivo \"%s\": %s"
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Pesquisa em Projeto"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Novo Projeto"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Renomear"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "Ocultar arquivos de objeto"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "Reverter diretório"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Reverter diretório"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Reverter diretório"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "_Directório"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "Exibir diff de diretório"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "%s: arquivo ou diretório não existente"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "Criar novo diretório"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "Abrir arquivo"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "Expandir tudo"
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "Colapsar tudo"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "_Remover Bookmark"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "_Base:"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "NovoDiretório"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Projeto"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "_Directório"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "Diretório _Base"
      
      #: ../workbench/src/wb_project.c:945
      #, fuzzy
      msgid "File Patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../workbench/src/wb_project.c:957
      #, fuzzy
      msgid "Ignored Dir. Patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../workbench/src/wb_project.c:969
      #, fuzzy
      msgid "Ignored File Patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, fuzzy, c-format
      msgid "Number of Files: %u\n"
      msgstr "Número do volume"
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Projeto"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Fechar: %s"
      
      #: ../workbench/src/wb_project.c:1008
      #, fuzzy, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Número do volume"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, fuzzy, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "O arquivo \"%s\" existe mas não é um arquivo regular"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "Criar novo arquivo"
      
      #, fuzzy
      #~ msgid "E_xpand all"
      #~ msgstr "Expandir tudo"
      
      #, fuzzy
      #~ msgid "Create New File"
      #~ msgstr "Criar novo arquivo"
      
      #, fuzzy
      #~ msgid "Create New Directory"
      #~ msgstr "Criar novo diretório"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "Chama o visualizador de documentação no símbolo atual."
      
      #, fuzzy
      #~ msgid "Column mode, select to line / brace / anchor."
      #~ msgstr "Modo coluna, seleção até a linha / colchete casado."
      
      #~ msgid "Insert/Fill columns with numbers."
      #~ msgstr "Inserir/Preencher colunas com números."
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "Escrever e executar scripts Lua para comandos personalizados."
      
      #~ msgid "Alternative project support."
      #~ msgstr "Suporte a projeto alternativo."
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Interface com diferentes sistemas de Controle de Versão."
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Desloca uma seleção para a esquerda e para a direita"
      
      #~ msgid "Delete"
      #~ msgstr "Excluir"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #, fuzzy
      #~ msgid "System plugin directory not found."
      #~ msgstr "diretório temporário tty não encontrado!\n"
      
      #, fuzzy
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "Falha ao salvar configuração: %s"
      
      #, 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"
      
      #~ 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 ""
      #~ "\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"
      
      #~ 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.32/po/de.po0000644000175000017500000072635113204251613016070 0ustar00frlanfrlan00000000000000# German translation for geany-plugins
      # Copyright (C) 2009-2017 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-2017
      # 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+0100\n"
      "PO-Revision-Date: 2016-08-08 22:38+0200\n"
      "Last-Translator: Dominic Hopf \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.8\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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Lesezeichen"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:325
      msgid "Focus Bookmark List"
      msgstr "Lesezeichen fokussieren"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Aufgabenliste fokussieren"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Aufgabenliste aktualisieren"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "XML-Tagging ausführen"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../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:494
      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:498
      msgid "Sort documents by _name"
      msgstr "Dokumente nach _Namen sortieren"
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr "Sortiert die Dokumente der Liste ihrem Namen nach."
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr "Dokumente nach _Auftreten sortieren"
      
      #: ../addons/src/addons.c:505
      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:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Dokumente dem A_uftreten nach sortieren (umgekehrt)"
      
      #: ../addons/src/addons.c:510
      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:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Eintrag »URI öffnen« im Editor-Menü anzeigen"
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Verfügbare Aufgaben im Meldungsfenster anzeigen"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Sämtliche Aufgaben aller (geöffneten) Dokumente anzeigen"
      
      #: ../addons/src/addons.c:553
      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:560
      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:562
      msgid "Search tokens:"
      msgstr "Suchwörter:"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Statussymbol im Benachrichtigungsfeld"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Lesezeichen (markierte Zeilen) in der Seitenleiste"
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr "Bei Doppelklick alle Vorkommen eines Wortes markieren"
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr "Abwählen eines aktuell Hervorgehobenen mittels einem Klick"
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "Leere Zeilen am Dokumentenende entfernen"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "XML-Tagging für eine Auswahl"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr "Auswahl bei einstellbaren Tastenkürzeln miteinbeziehen"
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr "Paare zum Umschließen konfigurieren"
      
      #: ../addons/src/addons.c:631
      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:772
      msgid "Show Command Panel"
      msgstr "Kommandoliste zeigen"
      
      #: ../commander/src/commander-plugin.c:776
      msgid "Show Command Panel (Commands Only)"
      msgstr "Kommandoliste zeigen (nur Kommandos)"
      
      #: ../commander/src/commander-plugin.c:780
      msgid "Show Command Panel (Files Only)"
      msgstr "Kommandoliste zeigen (nur Dateien)"
      
      #: ../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:228
      msgid "Debug"
      msgstr "Debug"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Name"
      
      #: ../debugger/src/vtree.c:193 ../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:526
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Programm empfing ein Signal %s (%s)"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Programm beendete mit Code »%i«"
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr "Konnte den gdb-Prozess nicht starten"
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Zieldatei laden.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:784
      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:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr "Fehler bei der Konfiguration von GDB"
      
      #: ../debugger/src/dbm_gdb.c:835
      #, 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:523
      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:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr "Eintreten"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr "Überspringen"
      
      # noch keine Idee  --Dominic
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr "Aussteigen"
      
      # Noch keine Idee hierzu --Dominic
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      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:2063
      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:518
      msgid "Find Tag"
      msgstr "Tag finden"
      
      #: ../geanyctags/src/geanyctags.c:529
      msgid "_Search for:"
      msgstr "_Suchen nach:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr "_Typ:"
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr "exakt"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr "Präfix"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      msgid "pattern"
      msgstr "Muster"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "_Groß-/Kleinschreibung beachten"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      msgid "_Declaration"
      msgstr "_Deklaration"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr "Tag-Deklaration finden (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr "Tag-Definition finden (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      msgid "Generate tags"
      msgstr "Tags erstellen"
      
      #: ../geanyctags/src/geanyctags.c:654
      msgid "Find tag..."
      msgstr "Tag finden..."
      
      #: ../geanyctags/src/geanyctags.c:659
      msgid "Find tag"
      msgstr "Tag suchen"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Konnte die Ausgabe des Befehls nicht verarbeiten."
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "Ausgabe in einem neuen Dokument anzeigen"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Befehl 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Befehl 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w wird mit dem aktuellen Wort ersetzt\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "Dokumentation für aktuelles Wort öffnen"
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr "Dokumentationskommentar einfügen"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr "Dokumentation für aktuelles Wort _generieren"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr "Dokumentation für das aktuelle Wort generieren."
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr "_Alle Symbole dokumentieren"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      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:508
      msgid "_Reload Configuration Files"
      msgstr "_Konfigurationsdateien neu laden"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Neuladen der Konfigurationsdateien erzwingen."
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "_Aktuelle Spracheinstellungen verändern"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr "Die aktuelle Sprachkonfigurationsdatei zum Verändern öffnen."
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr "_Anleitung öffnen"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "Anleitung im Browser öffnen."
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr "_Dokumentationsgenerator"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Allgemein"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "Datei _speichern vor dem Generieren der Dokumentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr "Eingefügte Dokumentation _einrücken"
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      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:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Dokumentationstyp"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr "Globale Umgebung"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      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:202 ../geanygendoc/src/ggd-utils.c:213
      #, 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:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Nummern einfügen"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "Zählung läuft..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "Vorbereitung läuft..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "Einfügen läuft..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr "Für die Basis 11 oder höher"
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "_Start:"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "S_chrittweite:"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "_Basis"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Buchstaben:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "_Obere"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "_Untere"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "Basis_präfix:"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      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:397
      msgid "Padding:"
      msgstr "Versatz:"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "Leer_zeichen"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "_Null"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX-_Assistent"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Öffnet einen Assistenten, um einfach LaTeX-Dokumente zu erstellen."
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr "_Sonderzeichen einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr "Hilft bei der Verwendung von seltenen Sonderzeichen"
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Insert _Reference"
      msgstr "_Verweis einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr "Eine Referenz in das Dokument einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "_Lesezeichen einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "Hilft beim Einfügen von Lesezeichen in ein Dokument"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "_Umgebung einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "Hilft beim Einfügen einer Umgebung in ein Dokument"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "_Paket einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2186
      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:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Format"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "Sc_hriftgröße:"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "Sonderzeichen _ersetzen"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "_Sonderzeichen ersetzen (Auswahl)"
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "Sonderzeichen mit den _TeX-Entsprechungen ersetzen"
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "Ersetzung während _Eingabe"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "Be_fehl einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr "Benutzerdefinierten Befehl in Dokument einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr "B_ibTeX-Referenz einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2293
      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:2298
      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"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "_Lua-Skripte"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Baue Menü von »%s«\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "Es gibt nichts zu konfigurieren."
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Datei öffnen"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Datei auswählen"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Durchsuchen..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Farbe auswählen"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Auswählen..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Schriftart auswählen"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Auswählen..."
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, 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:165
      #, 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:170
      #, 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:176
      #, 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:205
      #, 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:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      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:2267
      msgid "Stop Recording _Macro"
      msgstr "_Makroaufnahme beenden"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:246
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr "Verwendete libgpgme-Version:"
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr "Fehler von"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Verschlüsseln"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "Signieren"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "Entschlüsseln / Überprüfen"
      
      #: ../geanypg/src/geanypg.c:89
      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. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr "Text in geanyprj-Projekt suchen"
      
      #: ../geanyprj/src/geanyprj.c:242
      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:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Neues Projekt"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "_Projekt"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Projekt löschen"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Datei hinzufügen"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Einstellungen"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Seitenleiste _verstecken"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      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:69
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Python-Bibliothek konnte nicht geladen werden: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:415
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr "Python für Plugins"
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: s_spawn_sync error: %s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "Datei %s: Aktion %s wurde über %s ausgeführt."
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, 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:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "Es wurden keine Änderungen vorgenommen."
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr "Keine Historie verfügbar"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Möchten Sie wirklich »%s« zurücksetzen?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Möchten Sie wirklich »%s« hinzufügen?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Möchten Sie wirklich »%s« entfernen?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Möchten Sie wirklich »%s« aktualisieren?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "Eintragen"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Status"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Pfad"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Zeile: %d Spalte: %d"
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Eintragen (commit)"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "Alle _Dateien aus- bzw. abwählen"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "Commitnachricht:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr "Ein_tragen"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "Nichts zum Eintragen."
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, 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:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "Vom Plugin erstellte Dokumente als geändert markieren"
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "Hinzufügen von Dateien zur Versionsverwaltung immer bestätigen"
      
      #: ../geanyvc/src/geanyvc.c:1901
      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:1907
      msgid "Maximize commit dialog"
      msgstr "Commit-Dialog maximieren"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "Commit-Dialog beim Anzeigen maximieren"
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Externes Diff-Programm"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "Externes Diff-Programm zum Vergleich von zwei Dateien"
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "Funktionen über das Editormenü verfügbar machen"
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Einträge für das Plugin im Editormenü anzeigen"
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr "Menü an Menüleiste anhängen"
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "CVS aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "GIT aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "SVN aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "SVK aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Bazaar aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Mercurial aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "Sprache:"
      
      #: ../geanyvc/src/geanyvc.c:2061
      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:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Unterschiede anzeigen (diff)"
      
      #: ../geanyvc/src/geanyvc.c:2070
      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:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "_Zurücksetzen (revert)"
      
      #: ../geanyvc/src/geanyvc.c:2078
      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:2087
      msgid "_Blame"
      msgstr "Ä_nderungsverfolgung (blame)"
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "_Versionsgeschichte (log)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      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:2105
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr "Zeigt die unveränderte Datei an"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "Zur _Versionskontrolle hinzufügen"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Fügt eine Datei zur Versionskontrolle hin_zu."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "Aus Versionskontrolle _entfernen"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Entfernt eine Datei aus Versionskontrolle und Repository."
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Verzeichnis"
      
      #: ../geanyvc/src/geanyvc.c:2147
      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:2156
      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:2166
      msgid "Shows the log of the current directory"
      msgstr "Zeigt die Versionsgeschichte für das aktuelle Verzeichnis."
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "_Basisordner"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr "Erstellt ein Diff für die gesamte Arbeitskopie"
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr "Alle lokalen Änderungen zurücksetzen"
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr "Zeigt die Versionsgeschichte für die gesamte Arbeitskopie"
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "VC ein_tragen (commit)"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Diff von der aktuellen Datei"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Zeigt Veränderung des Verzeichnisses an (diff)"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Diff vom Grundverzeichnis"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "Änderungen eintragen"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Status der Arbeitskopie anzeigen"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Datei zurücksetzen (revert)"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Verzeichnis zurücksetzen (revert)"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Alle Änderungen verwerfen"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Datei aktualisieren"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "_VC"
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "_Versionskontrolle"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "_Status"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Zeigt den Status der Arbeitskopie."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Aus dem Repositorium aktualisieren"
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "Ein_tragen (commit)"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Änderungen eintragen."
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr "Quelltexte bei bevorzugter Code-Ablagestelle hinterlegen"
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr "Gruppe »%s« konnte nicht gefunden werden."
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr "Gruppe »%s« hat keinen Eintrag »%s«."
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr "Ungültiger Dienst"
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      "Unbekannter pastebin-Dienst »%s«. Bitte wähle einen bereits existierenden "
      "Dienst in den Einstellungen oder erstelle eine neue Konfiguration und "
      "versuche es erneut."
      
      #: ../geniuspaste/src/geniuspaste.c:804
      msgid "Refusing to create blank paste"
      msgstr "Ein leeres Dokument kann nicht hochgeladen werden."
      
      #: ../geniuspaste/src/geniuspaste.c:824
      msgid "Failed to paste the code"
      msgstr "Konnten die Inhalte nicht senden"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      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:831
      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:833 ../geniuspaste/src/geniuspaste.c:850
      msgid "Check the pastebin configuration and retry."
      msgstr "Bitte überprüfen Sie die Konfigurationen und versuchen Sie es erneut."
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr "Konnte die URL des Pastebin-Dienstes nicht herausfinden."
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr "Unerwartete Antwort des Pastebin-Dienstes."
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr "Das Hochladen war erfolgreich."
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, 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:881
      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:894
      msgid "The author name field is empty!"
      msgstr "Der Autorenname ist leer"
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr "Code-Ablagestelle:"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr "Autorenname:"
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr "Code-Ablage in einem neuen Reiter im Browser zeigen"
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Konnte Konfiguration nicht laden: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "Konnte das Konfigurationsverzeichnis »%s« nicht anlegen: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Konnte Konfiguration nicht speichern: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      msgid "Go to the previous hunk"
      msgstr "Zur vorherigen Block mit Änderungen springen"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      msgid "Go to the next hunk"
      msgstr "Zur nächsten Block mit Änderungen springen"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, 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"
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr "Operation erfolgreich: Es wurden %d Zeilen entfernt."
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr "Operation erfolgreich: Es wurden keine Zeilen entfern."
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr "Operation erfolgreich: Es wurden %d Zeilen geändert."
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr "Entferne doppelte Zeilen (Nach _Sortieren)"
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr "Entferne doppelte Zeilen (_Reihenfolge des Auftretens)"
      
      #: ../lineoperations/src/lineoperations.c:258
      msgid "Remove _Unique Lines"
      msgstr "Entferne _einmalige Zeilen"
      
      #: ../lineoperations/src/lineoperations.c:260
      msgid "Keep _Unique Lines"
      msgstr "Einmalige Zeilen _behalten"
      
      #: ../lineoperations/src/lineoperations.c:263
      msgid "Remove _Empty Lines"
      msgstr "Entferne leere Zeilen"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr "Entferne Zeilen mit Leerzeichen"
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr "Sortiere Zeilen, _aufsteigend"
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr "Sortiere Zeilen, a_bsteigend"
      
      #: ../lineoperations/src/lineoperations.c:274
      msgid "_Line Operations"
      msgstr "Zeilenoperationen"
      
      #: ../lineoperations/src/lineoperations.c:320
      msgid "Line Operations"
      msgstr "Zeilenoperationen"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection 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 oder einer Auswahl angewendet werden können. Dazu gehören das "
      "Entfernen von doppelten Zeilen oder leerer Zeilen sowie das Sortieren von "
      "Zeilen."
      
      #: ../lipsum/src/lipsum.c:43
      msgid "Lipsum"
      msgstr "Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Platzhaltertexte erstellen mit Geany"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Lorem-ipsum-Generator"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Bitte die Länge des Platzhaltertextes eingeben"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      "Plugin-Umbenennung erkannt!\n"
      "\n"
      "GeanyLipsum wurde in Lipsum umbenannt -- wahrscheinlich hast Du das bereits "
      "erkannt.\n"
      "Geany kann die alten Plugin-Konfigurationsateien in das neue "
      "Konfigurationsverzeichnis verschieben.\n"
      "Fortfahren?"
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      "Das Konfigurationsverzeichnis wurde erfolgreich von »%s« nach »%s« "
      "verschoben."
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      "Das alte Konfigurationsverzeichnis »%s« konnte nicht nach »%s« verschoben "
      "werden: %s \n"
      "Bitte verschiebe die Konfigurationen manuell."
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      msgid "_Lipsum..."
      msgstr "_Lipsum..."
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "Fügt Platzhaltertexte in das Dokument ein"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Fügt Platzhaltertexte ein"
      
      #. 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:46
      msgid "Markdown Preview"
      msgstr "Markdown-Vorschau"
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr "Markdown als HTML exportieren ..."
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr "Das aktuelle Dokument ist nicht vom Markdown-Dateityp."
      
      #: ../markdown/src/plugin.c:278
      msgid "Save HTML File As"
      msgstr "Datei als HTML speichern"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr "HTML-Dateien"
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      msgid "All Files"
      msgstr "Alle Dateien"
      
      #: ../markdown/src/plugin.c:322
      #, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "Konnte das Markdown nicht in eine HTML-Datei exportieren: »%s«: %s"
      
      #: ../multiterm/src/config.vala:47
      #, c-format
      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
      #, c-format
      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 "Mehrspaltige Terminal Emulation"
      
      #: ../multiterm/src/plugin.vala:78
      #, c-format
      msgid "Unable to write default config file: %s"
      msgstr "Konnte Standardkonfiguration nicht schreiben: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, c-format
      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:1967
      msgid "Terminal"
      msgstr "Terminal"
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr "Terminal schließen"
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      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:40
      msgid "Pair Tag Highlighter"
      msgstr "PairTagHighlighter"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Findet und hebt passende öffnende und schließende HTML-Tags hervor"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching Tag"
      msgstr "Zum Korrospondierenden Tag springen"
      
      #: ../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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      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:1557
      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:1554
      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:1560
      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:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr "Originalen String als Übersetzung nutzen"
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, 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:41
      msgid "XML PrettyPrinter"
      msgstr "XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr "PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr "Neuformatierung durchführen"
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr "Konnte den Inhalt nicht als XML interpretieren"
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr "Leere Knoten"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr "Zusammenfassung ( zu )"
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr "Leerzeichen  ( zu )"
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr "Erweiterung ( zu )"
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "Einrückung"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "Leerzeichen"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      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:581
      msgid "Source patterns:"
      msgstr "Quelltextmuster:"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      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:593
      msgid "Header patterns:"
      msgstr "Header-Muster:"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      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:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr "Muster für zu ignorierende Dateien:"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr "Muster für zu ignorierende Verzeichnisse:"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      msgid "Index all project files:"
      msgstr "Alle Projektdateien indizieren:"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr "Automatisch (bei weniger als 300 Dateien)"
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr "Ja"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      msgid "No"
      msgstr "Nein"
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      msgid "Find File"
      msgstr "Datei suchen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr "Suchen in:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr "Im vollen Pfad suchen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      msgid "project or external directory"
      msgstr "Projekt oder externen Verzeichnis"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      msgid "Add External Directory"
      msgstr "Externes Verzeichnis hinzufügen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      msgid "Add"
      msgstr "Hinzufügen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      msgid "Find Symbol"
      msgstr "Symbol finden"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr "Typ:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr "Dateimuster unter Projekt->Eigenschaften definieren"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr "Alle neuladen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      msgid "Add external directory"
      msgstr "Externes Verzeichnis hinzufügen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Alle ausklappen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr "Zusammenfalten bis Projektwurzel"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr "Aktiven Editor folgen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr "Ein Projekt zum Starten des Plugins öffnen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "Alle ausklappen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      msgid "Find in Files..."
      msgstr "In Dateien finden..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      msgid "Find File..."
      msgstr "Datei suchen..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      msgid "Find Symbol..."
      msgstr "Symbol finden..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, c-format
      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"
      
      #: ../scope/src/debug.c:461 ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      # c-format
      #: ../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 "Ausdruck beobachten"
      
      #: ../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
      #, fuzzy, c-format
      msgid "Scope: %s: %s."
      msgstr "Scope: %s: %s."
      
      #: ../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 "Einstellungen für %s geladen."
      
      #: ../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
      #, fuzzy
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr "Alle Halte- und Beobachtungspunkte löschen?"
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      #, fuzzy
      msgid "Setup program"
      msgstr "Programm einrichten"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr "Starten / Fortsetzen"
      
      # Noch keine Idee hierzu --Dominic
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      #, fuzzy
      msgid "Run to source"
      msgstr "Bis zum Cursor ausführen"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr "Abbrechen"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr "Haltepunkt umschalten"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr "GDB-Kommando"
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr "Terminal anzeigen"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr "Beschäftigt"
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr "Fertig"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr "Hängt"
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr "Zusammenfügen"
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr "Laden"
      
      #: ../scope/src/scope.c:420
      #, fuzzy
      msgid "Build action activated. Terminate debugging?"
      msgstr "Build-Prozess aktiviert. Debugging abbrechen?"
      
      #: ../scope/src/scope.c:523
      #, fuzzy
      msgid "Breaks"
      msgstr "Haltepunkte"
      
      #: ../scope/src/scope.c:525
      #, fuzzy
      msgid "Console"
      msgstr "Konsole:"
      
      #: ../scope/src/scope.c:525
      #, fuzzy
      msgid "Debug Console"
      msgstr "Debug-Konsole:"
      
      #: ../scope/src/thread.c:49
      #, fuzzy, c-format
      msgid "Thread group %s started."
      msgstr "Thread-Gruppe %s gestartet."
      
      #: ../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 "Signal 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: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:"
      
      #: ../sendmail/src/sendmail.c:45
      msgid "SendMail"
      msgstr "SendMail"
      
      #: ../sendmail/src/sendmail.c:46
      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.
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "E-Mail-Adresse des Empfängers"
      
      # Ich sehe doppelt.
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "E-Mail-Adresse des Empfängers:"
      
      #: ../sendmail/src/sendmail.c:143
      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."
      
      #: ../sendmail/src/sendmail.c:149
      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."
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Konnte das E-Mail-Programm nicht aufrufen. Bitte überprüfen Sie Ihre "
      "Einstellungen."
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "Bitte ein E-Mail-Programm angeben!"
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "Die Datei muss vor dem Senden gespeichert werden."
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "E-Mail"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "Per E-Mail senden"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "Pfad und Optionen für das E-Mail-Programm:"
      
      #: ../sendmail/src/sendmail.c:322
      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\""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "Werkzeugleistensymbol anzeigen"
      
      #: ../sendmail/src/sendmail.c:334
      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."
      
      #: ../sendmail/src/sendmail.c:340
      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"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Per Mail senden"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      "Plugin-Umbenennung erkannt!\n"
      "\n"
      "GeanySendMail wurde in sendmail umbenannt -- wahrscheinlich hast Du das "
      "bereits erkannt.\n"
      "Geany kann die alten Plugin-Konfigurationsateien in das neue "
      "Konfigurationsverzeichnis verschieben.\n"
      "Fortfahren?"
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      "Das alte Konfigurationsverzeichnis »%s« konnte nicht nach »%s« verschoben "
      "werden: %s \n"
      "Bitte verschiebe die Konfigurationen manuell."
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "_Dokument versenden"
      
      #: ../sendmail/src/sendmail.c:445
      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."
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Vorschlag: "
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "Prüfe"
      
      #: ../spellcheck/src/speller.c:299
      #, 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:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Prüfe Datei »%s« (mit »%s«):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "Der geprüfte Text ist fehlerfrei."
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Die Enchant-Bibliothek konnte nicht initialisiert werden (%s)."
      
      #: ../spellcheck/src/speller.c:346
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "Auswahl nach links verschieben"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:127
      msgid "TreeBrowser"
      msgstr "Baumnavigator"
      
      #: ../treebrowser/src/treebrowser.c:128
      #, fuzzy
      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:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "Das Verzeichnis »%s« existiert nicht"
      
      #: ../treebrowser/src/treebrowser.c:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(leer)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, 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:1044
      msgid "NewDirectory"
      msgstr "Neues Verzeichnis"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "Neue Datei"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, 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:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Soll »%s« wirklich gelöscht werden?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      #, fuzzy
      msgid "Go _Up"
      msgstr "_Aufwährts"
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "_Pfad des Dokumentes übernehmen"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "_Extern öffnen"
      
      #: ../treebrowser/src/treebrowser.c:1222
      msgid "Open _Terminal"
      msgstr "In _Terminal öffnen"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "Als _Wurzel festlegen"
      
      #: ../treebrowser/src/treebrowser.c:1231
      msgid "Refres_h"
      msgstr "Auffrisc_hen"
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr "In Dateien _finden"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Ordner auswählen"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "Neue Datei"
      
      #: ../treebrowser/src/treebrowser.c:1251
      msgid "Rena_me"
      msgstr "_Umbenennen"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "»%s« schließen"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, c-format
      msgid "Clo_se Child Documents "
      msgstr "Kinderdokumente _schließen"
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "_Vollständigen Pfad in die Zwischenablage kopieren"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Alle ausklappen"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Alle e_inklappen"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "L_esezeichen anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "_Versteckte Dateien anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "_Werkzeugleisten anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, 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:1743
      msgid "Go up"
      msgstr "Aufwärts"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Auffrischen"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Ausgabe"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Pfad des Dokumentes übernehmen"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr "Pfad aufzeichnen"
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Leisten verbergen"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Adressleiste. Zum Beispiel »/projects/my-project«"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr "Baumnavigator"
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Externer Öffnen-Befehl"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      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:1978
      msgid "Toolbar"
      msgstr "Werkzeugleiste:"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Versteckt"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Oben"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "Unten"
      
      #: ../treebrowser/src/treebrowser.c:1987
      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:1991
      msgid "Show icons"
      msgstr "Symbole anzeigen:"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Keines"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "Basis"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "Inhaltsart"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Versteckte Dateien anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:2006
      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:2008
      msgid "Hide object files"
      msgstr "Objektdateien verbergen"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr "Filter zurücksetzen"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Dem aktuellen Dokument folgen"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "Einzelklick öffnet Dokument und fokussiert es"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Doppelklick öffnet ein Verzeichnis"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "Datei schließen, wenn sie gelöscht wird"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr "Fokus auf Editor legen beim Öffnen von Dateien"
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Leere Zeilen anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Lesezeichen anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr "Neue Dateien öffnen"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Dateiliste fokussieren"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "Pfadeintrag fokussieren"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "Objekt umbenennen"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "Neue Datei"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Ordner auswählen"
      
      #: ../treebrowser/src/treebrowser.c:2149
      msgid "Track Current"
      msgstr "Pfad aufzeichnen"
      
      #: ../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"
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Neue Werkbank anlegen"
      
      #: ../workbench/src/dialogs.c:74
      #, fuzzy
      msgid "Open workbench"
      msgstr "Öffne Werkbank"
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "Öffnen"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr "Werkbank Dateien (.geanywb)"
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Projekt hinzufügen"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      #, fuzzy
      msgid "_Add"
      msgstr "_Beides hinzufügen"
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "Projektdateien (.geany)"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Verzeichnis hinzufügen"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "Verzeichnis Einstellungen"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      #, fuzzy
      msgid "_OK"
      msgstr "OK"
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "Dateimuster:"
      
      #: ../workbench/src/dialogs.c:238
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      "Leerzeichengetrennte Liste mit Mustern, die genutzt werden, um Dateien zu "
      "erkennen, die im Verzeichnisbaum angezeigt werden sollen."
      
      #: ../workbench/src/dialogs.c:249
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      "Leerzeichengetrennte Liste mit Mustern, die genutzt werden, um Dateien zu "
      "erkennen, die im Verzeichnisbaum nicht angezeigt werden sollen."
      
      #: ../workbench/src/dialogs.c:260
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      "Leerzeichengetrennte Liste mit Mustern, die genutzt werden, um Verzeichnisse "
      "zu erkennen, die nicht nach Quelldateien durchsucht werden sollen. "
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      "Anmerkung: die Muser oben beeinflußen nur das Werkbank-Verzeichnis und "
      "werden nicht in In Dateien suchen verwendet."
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr "Werkbank Einstellungen"
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "Beim Öffnen alle Projekte durchsuchen:"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      "Wenn die Option aktiviert ist (Standard), dann werden beim Öffnen einer "
      "Werkbank alle Projekte durchsucht."
      
      #: ../workbench/src/menu.c:95
      #, fuzzy, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "Konnte die Werkbank Datei nicht anlegen: %s"
      
      #: ../workbench/src/menu.c:122
      #, fuzzy, c-format
      msgid "Could not open workbench file: %s"
      msgstr "Konnte die Werkbank Datei nicht öffnen: %s"
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr "Konnte die Werkbank Datei nicht speichern: %s"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr "Werkbank"
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      #, fuzzy
      msgid "_Open..."
      msgstr "Öffnen"
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      #, fuzzy
      msgid "_Save"
      msgstr "Datei speichern"
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "Einstellungen"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "Schließen"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      "Erstellen oder Öffen Sie eine Werkbank\n"
      "mit dem Werkbank Menü."
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr "Verwalten und anpassen mehrere Projekte."
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "Konnte die Projektdatei nicht hinzufügen: %s"
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Projekt hinzufügen"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Projekt speichern"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Projekt entfernen"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "Projekt falten/ausklappen"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "Verzeichnis hinzufügen"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Verzeichnis entfernen"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Verzeichnis durchsuchen"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "Verzeichnis Einstellungen"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "Verzeichnis falten/ausklappen"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "Die Datei oder das Verzeichnis »%s« gibt es nicht."
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "N_eues Verzeichnis anlegen"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "Eine Signaturendatei öffnen"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "Alle ausklappen"
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "Alle e_inklappen"
      
      #: ../workbench/src/popup_menu.c:636
      #, fuzzy
      msgid "_Add to Workbench Bookmarks"
      msgstr "Zu Werkbank Lesezeichen hinzufügen"
      
      #: ../workbench/src/popup_menu.c:642
      #, fuzzy
      msgid "_Add to Project Bookmarks"
      msgstr "Zu Projekt Lesezeichen hinzufügen"
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "Von _Lesezeichen entfernen"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "Basis"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "Keine Verzeichnisse"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr "Keine Werkbank geöffnet."
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Projekte"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      "Fügen Sie ein Projekt\n"
      "über das Kontextmenü hinzu."
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      "%s\n"
      "Projekt Datei nicht gefunden!"
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      "Dieses Projekt hat keine Verzeichnisse. Verzeichnisse können über "
      "dasKontextmenü zum Projekt hinzugefügt werden."
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "Verzeichnis-Name: %s\n"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "Basis-Verzeichnis: %s\n"
      
      #: ../workbench/src/wb_project.c:945
      #, fuzzy
      msgid "File Patterns:"
      msgstr "Datei Muster:"
      
      #: ../workbench/src/wb_project.c:957
      #, fuzzy
      msgid "Ignored Dir. Patterns:"
      msgstr "Muster für zu ignorierende Dateien:"
      
      #: ../workbench/src/wb_project.c:969
      #, fuzzy
      msgid "Ignored File Patterns:"
      msgstr "Muster für zu ignorierende Dateien:"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr "Anzahl der Unter-Verzeichnisse: %u\n"
      
      #: ../workbench/src/wb_project.c:982
      #, fuzzy, c-format
      msgid "Number of Files: %u\n"
      msgstr "Anzahl von Dateien: %u\n"
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Projekt: %s\n"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Datei: %s\n"
      
      #: ../workbench/src/wb_project.c:1008
      #, fuzzy, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Anzahl der Verzeichnisse: %u\n"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      "\n"
      "Das Projekt enthält nicht gesicherte Änderungen!\n"
      
      #: ../workbench/src/workbench.c:710
      #, fuzzy, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "Die Datei %s ist keine gültige Workbench-Datei!"
      
      #: ../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 "Create _new file"
      #~ msgstr "_Neue Datei erstellen"
      
      #~ msgid "E_xpand all"
      #~ msgstr "A_lle ausklappen"
      
      #~ msgid "Create New File"
      #~ msgstr "Neue Datei erstellen"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Neues Verzeichnis erstellen"
      
      #, fuzzy
      #~ msgid "Create"
      #~ msgstr "_Erstellen"
      
      #, fuzzy
      #~ msgid "New"
      #~ msgstr "Neu"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "Dokumentation für das aktuelle Wort anzeigen."
      
      #~ msgid "Column mode, select to line / brace / anchor."
      #~ msgstr "Spaltenmodus. Auswählen bis zur Zeile/passenden Klammer/Anker"
      
      #~ msgid "Insert/Fill columns with numbers."
      #~ msgstr "Einfügen/Ausfüllen der Spalten mit Nummern"
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr ""
      #~ "Lua-Skripte schreiben und als benutzerdefinierte Funktionen in Geany "
      #~ "ausführen."
      
      #~ msgid "gpg encryption plugin for geany"
      #~ msgstr "GPG-Verschlüsselungsplugin für Geany"
      
      #~ msgid "Alternative project support."
      #~ msgstr "Alternative Projektunterstützung."
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Oberfläche für verschiedene Versionskontrollsysteme."
      
      #~ msgid "Formats an XML and makes it human-readable."
      #~ msgstr "Formatiert XML und macht es damit besser menschenlesbar."
      
      #~ msgid "Relatively simple GDB front-end."
      #~ msgstr "Relativ einfaches Frontend zu GDB."
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Verschiebt eine Auswahl nach links oder rechts."
      
      #~ msgid "Delete"
      #~ msgstr "Löschen"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #~ 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.32/po/gl.po0000644000175000017500000064561013204251613016100 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Marcadores"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "Engadidos"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Varios pequenos engadidos para Geany."
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "Enfocar na lista de marcadores"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Enfocar na lista de tarefas"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Actualizar a lista de tarefas"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "Executar o etiquetado XML"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      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:494
      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:498
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:505
      #, 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:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:537
      #, 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:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Mostrar tarefas dispoñíbeis na xanela de mensaxes"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Mostrar tarefas de todos os documentos"
      
      #: ../addons/src/addons.c:553
      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:560
      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:562
      msgid "Search tokens:"
      msgstr "Elementos de busca:"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Mostrar unha icona de estado na área de notificación"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Mostrar marcadores definidos (liñas marcadas) na barra lateral"
      
      #: ../addons/src/addons.c:591
      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:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "Eliminar as liñas baleiras do final"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "Etiquetado XML para a selección"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "Non configurar ningunha codificación"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Orientación do papel:"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Selección extra"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr "Extensións de implementacións"
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr "Extensións de cabeceiras"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Predeterminado"
      
      #: ../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 ""
      
      #. 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:42
      #, fuzzy
      msgid "Commander"
      msgstr "Orde 0:"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      #, fuzzy
      msgid "Show Command Panel"
      msgstr "Nome da orde:"
      
      #: ../commander/src/commander-plugin.c:776
      #, fuzzy
      msgid "Show Command Panel (Commands Only)"
      msgstr "Nome da orde:"
      
      #: ../commander/src/commander-plugin.c:780
      #, fuzzy
      msgid "Show Command Panel (Files Only)"
      msgstr "Nome da orde:"
      
      #: ../debugger/src/plugin.c:55
      #, fuzzy
      msgid "Debugger"
      msgstr "Depurar"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "Depurar"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      #, fuzzy
      msgid "Name"
      msgstr "Nome:"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:251
      #, fuzzy
      msgid "Target:"
      msgstr "grande"
      
      #: ../debugger/src/tpage.c:254
      #, fuzzy
      msgid "Browse"
      msgstr "Examinar..."
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      #, fuzzy
      msgid "Debugger:"
      msgstr "Depurar"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      #, fuzzy
      msgid "Command Line Arguments"
      msgstr "Nome da orde:"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      #, fuzzy
      msgid "Environment Variables"
      msgstr "Contornos"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:259 ../debugger/src/envtree.c:365
      #: ../debugger/src/debug.c:263
      #, 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:526
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "O programa recibiu o sinal:"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, fuzzy, c-format
      msgid "Program exited with code \"%i\""
      msgstr "O programa rematou co código %d [%s]\n"
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      #, fuzzy
      msgid "Target"
      msgstr "grande"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "Puntos de interrupción"
      
      #: ../debugger/src/tabs.c:137
      #, fuzzy
      msgid "Watch"
      msgstr "Puntos de vixilancia"
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      #, fuzzy
      msgid "Call Stack"
      msgstr "_Disposición"
      
      #: ../debugger/src/tabs.c:146
      #, fuzzy
      msgid "Debug Terminal"
      msgstr "Executar nun terminal"
      
      #: ../debugger/src/tabs.c:149
      #, fuzzy
      msgid "Debugger Messages"
      msgstr "Depurar"
      
      #: ../debugger/src/keys.c:48
      #, fuzzy
      msgid "Run / Continue"
      msgstr "Contando..."
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      #, fuzzy
      msgid "Restart"
      msgstr "Iniciando"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      #, fuzzy
      msgid "Step into"
      msgstr "Só en %s: %s\n"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      #, fuzzy
      msgid "Step out"
      msgstr "Só en %s: %s\n"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      #, fuzzy
      msgid "Run to cursor"
      msgstr "A conectar a %s"
      
      #: ../debugger/src/keys.c:55
      #, fuzzy
      msgid "Add / Remove breakpoint"
      msgstr "Engadir ou eliminar as codificacións do terminal"
      
      #: ../debugger/src/keys.c:56
      #, 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:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      #, fuzzy
      msgid "Run"
      msgstr "_Executar"
      
      #: ../debugger/src/btnpanel.c:131
      #, fuzzy
      msgid "Settings"
      msgstr "Iniciando"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:153
      #, fuzzy
      msgid "Continue"
      msgstr "Contando..."
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, 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:135
      #, 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:143
      #, 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:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      #, fuzzy
      msgid "Toggle documentation tab"
      msgstr "Tipo de documentación"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:145
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: non hai tal ficheiro ou directorio"
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:529
      #, fuzzy
      msgid "_Search for:"
      msgstr "Elementos de busca:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      #, fuzzy
      msgid "prefix"
      msgstr "_Prefixo base"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      #, fuzzy
      msgid "pattern"
      msgstr "Carta"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      #, fuzzy
      msgid "_Declaration"
      msgstr "Símbolos de relación"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      #, fuzzy
      msgid "Generate tags"
      msgstr "Xeral"
      
      #: ../geanyctags/src/geanyctags.c:654
      #, fuzzy
      msgid "Find tag..."
      msgstr "Engadir ficheiro"
      
      #: ../geanyctags/src/geanyctags.c:659
      #, fuzzy
      msgid "Find tag"
      msgstr "Engadir ficheiro"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Non foi posíbel analizar a saída da ordes"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "Poñer a saída no búfer"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Orde 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Orde 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w substituirase pola palabra actual\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "Documentar a palabra actual"
      
      #: ../geanydoc/src/geanydoc.c:435
      msgid "Document interactive"
      msgstr ""
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "Selección e_xtra"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr "Modo de _columna"
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr "Modo de columna"
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr "Seleccionar ata a _liña"
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr "Seleccionar ata a liña"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "Seleccionar ata a _chave correspondente"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "Seleccionar ata a chave correspondente"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      #, fuzzy
      msgid "Convert selection"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      #, fuzzy
      msgid "Select to _Anchor"
      msgstr "Seleccionar ata a _liña"
      
      #: ../geanyextrasel/src/extrasel.c:546
      #, fuzzy
      msgid "Select to anchor"
      msgstr "Seleccionar ata a liña"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr "Xerador de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr "Xera documentación básica a partir do código fonte"
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Produciuse un erro ao cargar a configuración: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, 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: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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, 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:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr "Inserir comentario de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr "_Documentar o símbolo actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr "Xerar documentación para o símbolo actual."
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr "Document_ar todos os símbolos"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      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:508
      msgid "_Reload Configuration Files"
      msgstr "_Recargar os ficheiros de configuración"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Forzar a recarga dos ficheiros de configuración"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "_Editar a configuración actual da linguaxe"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      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:525
      msgid "Open _Manual"
      msgstr "Abrir o _manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "Abrir o manual nun navegador"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr "Xerador de _documentación"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Xeral"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "Gardar o ficheiro ante_s de xerar a documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr "Sangrar a documentación _inserida"
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      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:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr "Contorno global"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, 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:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Inserir números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "Contando..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "Preparando..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "Inserindo..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr "Para base 11 ou superior"
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "_Comezo:"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "_Paso:"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Letras:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "Máis _alto"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "Máis _baixo"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "_Prefixo base"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 para octal, 0x para hex, + para decimal positivo"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr "Recheo:"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "Esp_azo"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "_Cero"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr "Executar o asistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "Marca o texto seleccionado como cursiva"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Marca o texto seleccionado como negra"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Subliñar o texto seleccionado"
      
      #: ../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 "Orientado ao lado esqueredo"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Orientado ao lado dereito"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "Usar KOMA script de xeito predeterminado"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "Mostrar a barra de ferramentas do plugin a maiores"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "Inserir etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "Nome de etiqueta:"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "Inserir orde"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "Nome da orde:"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "Inserir referencia"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "Nome da referencia:"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "Referencia e_stándar"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Referencia de _páxina"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr "Eng_adir ambos"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Máis"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "Nome do paquete:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1266
      #, fuzzy
      msgid "Insert BibTeX Reference"
      msgstr "Inserir referencia"
      
      #: ../geanylatex/src/geanylatex.c:1279
      #, fuzzy
      msgid "BibTeX reference name:"
      msgstr "Nome da referencia:"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "Estimado señor ou señora"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "Reciba un cordial saúdo"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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: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 ""
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr "Predeterminado"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "Escolla o tipo de documento que quere escribir"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Artigo"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Informe"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Carta"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Presentación"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Codificación:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "Configure a codificación para o seu novo documento"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      #, fuzzy
      msgid "Font size"
      msgstr "Tamaño da tipografía:"
      
      #: ../geanylatex/src/geanylatex.c:1827
      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: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 ""
      "Configura o valor para a orde \\author. En moitos casos isto debería ser 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 ""
      
      #. 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 "Configura o título do seu novo documento."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "Tamaño do papel:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      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:1899
      msgid "Paper Orientation:"
      msgstr "Orientación do papel:"
      
      #: ../geanylatex/src/geanylatex.c:1902
      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:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "Usar clases de KOMA-script se é posíbel"
      
      #: ../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 ""
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr "Usar o modo de borrador"
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "Executar o asistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "Inserir orde"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr "Activar ou desactivar a substitución de entrada"
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Substituír caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "Formatar a selección en negra"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "Formatar a selección en cursiva"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "Formatar a selección en letra de máquina de escribir"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Formatar a selección centrada"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Formatar a selección aliñándoa á dereita"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr "Inserir lista de descricións"
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr "Inserir unha lista de elementos"
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr "Inserir unha lista numerada"
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2004
      #, fuzzy
      msgid "Insert BibTeX reference dialog"
      msgstr "Inserir referencia"
      
      #: ../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 é 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:2049
      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:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "_Asistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Inicia un asistente para crear facilmente documentos LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr "I_nserir un carácter especial"
      
      #: ../geanylatex/src/geanylatex.c:2151
      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:2161
      msgid "Insert _Reference"
      msgstr "Inserir _referencia"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "Inserir _etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "Axuda ao inserir etiquetas a un documento"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "Inserir _contorno"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "Axuda ao inserir un contorno a un documento"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "Inserir p_aquete"
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formato"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "Tamaño da tip_ografía"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "_Substitución de caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "Substituí_r en masa caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      "Substituí_r os caracteres especiais seleccionados por substitutos de TeX"
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "_Orde para inserir"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2282
      #, fuzzy
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      #, fuzzy
      msgid "Insert B_ibTeX reference"
      msgstr "Inserir _referencia"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      #, 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"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Construíndo o menú dende '%s'\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "Nada que configurar!"
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Abrir ficheiro"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Seleccionar ficheiro"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Examinar..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Seleccionar a cor"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Seleccionar..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Seleccionar tipo de letra"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Seleccionar..."
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, 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:165
      #, 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:170
      #, 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:176
      #, 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:205
      #, 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:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      #, 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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      #, 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
      #: ../treebrowser/src/treebrowser.c:1256
      #, 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:2261
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      #, fuzzy
      msgid "Mini Script"
      msgstr "Script Lua"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #, fuzzy
      msgid "_Ignore"
      msgstr "Ignorar Todo"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      #, fuzzy
      msgid "Error from"
      msgstr "Erro:"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      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:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Proxecto novo"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "_Proxecto"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Eliminar o proxecto"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Engadir ficheiro"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferencias"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "_Ocultar a barra lateral"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      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:69
      #, 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:415
      #, fuzzy
      msgid "GeanyPy"
      msgstr "GeanyGDB"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "Non se realizaron cambios"
      
      #: ../geanyvc/src/geanyvc.c:739
      #, fuzzy
      msgid "No history available"
      msgstr "Non hai historial dispoñíbel"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Está seguro de que desexa reverter: %s?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Está seguro de que quere engadir: %s?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Está seguro de que quere eliminar: %s?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Está seguro de que desexa actualizar?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Estado"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Ruta"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "(_De)Seleccionar tódolos ficheiros"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1566
      #, fuzzy
      msgid "Nothing to commit."
      msgstr "Non hai nada que "
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, 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:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      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:1901
      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:1907
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Uar un visor de diff externo"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "Usar un visor externo de diff para diffs de ficheiros."
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "Mostrar entradas de control de versións no menú do editor"
      
      #: ../geanyvc/src/geanyvc.c:1924
      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:1929
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "Habilitar CVS"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "Habilitar GIT"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "Habilitar SVN"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "Habilitar SVK"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Habilitar Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Habilitar Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "Idioma para a revisión ortográfica"
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2070
      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:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "_Reverter"
      
      #: ../geanyvc/src/geanyvc.c:2078
      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:2087
      msgid "_Blame"
      msgstr "_Blame"
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "_Historial (rexistro)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      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:2105
      msgid "_Original"
      msgstr "_Orixinal"
      
      #: ../geanyvc/src/geanyvc.c:2108
      #, 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:2116
      msgid "_Add to Version Control"
      msgstr "Eng_adir ao control de versións"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Engadir o ficheiro ao repositorio."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "Elimina_r do control de versións"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Eliminar ficheiro do repositorio."
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Directorio"
      
      #: ../geanyvc/src/geanyvc.c:2147
      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:2156
      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:2166
      msgid "Shows the log of the current directory"
      msgstr "Mostra o rexistro do directorio actual"
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "Directorio _base"
      
      #: ../geanyvc/src/geanyvc.c:2186
      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:2194
      msgid "Revert any local edits."
      msgstr "REverter todas as edicións locais."
      
      #: ../geanyvc/src/geanyvc.c:2207
      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:2233
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Mostrar o diff do ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Mostrar o diff do directorio"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Mostrar un diff do directorio base"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Mostrar estado"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Reverter un único ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Reverter o directorio"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Reverter o directorio base"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Actualizar o ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "C_V"
      
      #: ../geanyvc/src/geanyvc.c:2322
      #, fuzzy
      msgid "_Version Control"
      msgstr "Eng_adir ao control de versións"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "E_stado"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Mostrar estado."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Actualizar dende o repositorio remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "Non se atopa o directorio %s.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "Posición non válida \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      #, 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:844
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "Produciuse un erro ao abrir o ficheiro de script"
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:914
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "Seleccionar ficheiro"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, 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:1411 ../pohelper/src/gph-plugin.c:1620
      #, 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:1414 ../pohelper/src/gph-plugin.c:1623
      #, 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:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Volver ó diálogo anterior"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Pasar á liña seguinte"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, 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."
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Eliminar ficheiro"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "Eliminar ficheiro"
      
      #: ../lineoperations/src/lineoperations.c:263
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Eliminar ficheiro"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Operación binaria"
      
      #: ../lineoperations/src/lineoperations.c:320
      #, fuzzy
      msgid "Line Operations"
      msgstr "Operación binaria"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      #, fuzzy
      msgid "Lipsum"
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Creación de textos de proba con Geany"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Xerador de Lipsum"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Introduza a lonxitude do texto Lipsum aquí"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      #, fuzzy
      msgid "_Lipsum..."
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "Inclúa pseudo-texto no seu código"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Inserir texto Lipsum"
      
      #. 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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      #, fuzzy
      msgid "Save HTML File As"
      msgstr "Gardar ficheiro"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "Engadir ficheiro"
      
      #: ../markdown/src/plugin.c:322
      #, fuzzy, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr ""
      "Produciuse un erro ao cargar o tipo de ficheiro \"%s\" dende o ficheiro \"%s"
      "\": %s"
      
      #: ../multiterm/src/config.vala:47
      #, 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
      #, 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
      #, fuzzy
      msgid "Move to message window"
      msgstr "_Ocultar a xanela de mensaxes"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "_Ocultar a barra lateral"
      
      #: ../multiterm/src/context-menu.vala:81
      #, fuzzy
      msgid "Open Tab"
      msgstr "Abrir terminal"
      
      #: ../multiterm/src/context-menu.vala:96
      #, fuzzy
      msgid "Open Window"
      msgstr "Abrir URI"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      #, 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
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Mostrar estado"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      #, 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
      #, fuzzy
      msgid "New terminal"
      msgstr "Executar nun terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      #, fuzzy
      msgid "Terminal"
      msgstr "Terminado"
      
      #: ../multiterm/src/tab-label.vala:84
      #, fuzzy
      msgid "Close terminal"
      msgstr "Executar nun terminal"
      
      #: ../multiterm/src/terminal.vala:88
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Produciuse un erro ao construír comentario: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      #, fuzzy
      msgid "Go To Matching Tag"
      msgstr "Seleccionar ata a _chave correspondente"
      
      #: ../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:1524
      #, 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:1527
      #, 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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      #, 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:1554
      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:1560
      #, 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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      #, fuzzy
      msgid "Unable to parse the content as XML."
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      #, fuzzy
      msgid "Empty nodes"
      msgstr "(Liña baleira)"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:425
      #, fuzzy
      msgid "Indentation"
      msgstr "Presentación"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:40
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Preferencias do proxecto"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      #, fuzzy
      msgid "Find in project files"
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      #, fuzzy
      msgid "Find project file"
      msgstr "Ocultar ficheiros obxecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Ocultar ficheiros obxecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      #, fuzzy
      msgid "Header patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:634
      #, fuzzy
      msgid "No"
      msgstr "Núm."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      #, fuzzy
      msgid "Find File"
      msgstr "Engadir ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      #, fuzzy
      msgid "Search inside:"
      msgstr "Elementos de busca:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      #, fuzzy
      msgid "project or external directory"
      msgstr "Crear un directorio novo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Seleccionar directorio"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      #, fuzzy
      msgid "Add"
      msgstr "Engadidos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Engadir ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      #, fuzzy
      msgid "Reload all"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      #, fuzzy
      msgid "Add external directory"
      msgstr "Reverter o directorio"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      #, fuzzy
      msgid "Expand All"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      #, fuzzy
      msgid "Find File..."
      msgstr "Engadir ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Engadir ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      #, 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:521
      #, 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:521
      #, 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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, fuzzy, c-format
      msgid "%s: %s."
      msgstr "%s:%u:%u: %s"
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      #, fuzzy
      msgid "Setup program"
      msgstr "sen programa"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      #, fuzzy
      msgid "Run/continue"
      msgstr "Contando..."
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      #, fuzzy
      msgid "Run to source"
      msgstr "A conectar a %s"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      #, fuzzy
      msgid "Terminate"
      msgstr "Terminado"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "punto de interrupción"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      #, fuzzy
      msgid "GDB command"
      msgstr "Inserir orde"
      
      #: ../scope/src/scope.c:74
      #, fuzzy
      msgid "Show terminal"
      msgstr "Executar nun terminal"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      #, fuzzy
      msgid "Load"
      msgstr "_Carga"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      #, fuzzy
      msgid "Breaks"
      msgstr "Puntos de interrupción"
      
      #: ../scope/src/scope.c:525
      #, fuzzy
      msgid "Console"
      msgstr "Consola:"
      
      #: ../scope/src/scope.c:525
      #, 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: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:"
      
      #: ../sendmail/src/sendmail.c:45
      #, fuzzy
      msgid "SendMail"
      msgstr "GeanySendMail"
      
      #: ../sendmail/src/sendmail.c:46
      #, 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."
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "Enderezo do destinatario"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "Introduza o enderezo de correo-e do destinatario:"
      
      #: ../sendmail/src/sendmail.c:143
      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."
      
      #: ../sendmail/src/sendmail.c:149
      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."
      
      #: ../sendmail/src/sendmail.c:163
      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."
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "Por favor, defina primeiro un cliente de correo ."
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "Débese gardar o ficheiro antes de envialo."
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "Correo"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "Enviar por correo"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "Camiño e opcións para o cliente de correo:"
      
      #: ../sendmail/src/sendmail.c:322
      #, 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\""
      
      #: ../sendmail/src/sendmail.c:332
      #, fuzzy
      msgid "Show toolbar icon"
      msgstr "Mostrar as indicacións."
      
      #: ../sendmail/src/sendmail.c:334
      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."
      
      #: ../sendmail/src/sendmail.c:340
      #, fuzzy
      msgid "Use dialog for entering email address of recipients"
      msgstr "Usar un diálogo para introducir o enderezo de correo dos destinatarios"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Enviar o ficheiro por correo"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "Enviar o docu_mento por correo"
      
      #: ../sendmail/src/sendmail.c:445
      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"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Probe:"
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "Verificando..."
      
      #: ../spellcheck/src/speller.c:299
      #, 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:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Verificando o ficheiro \"%s\" (usando %s):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "O texto verificado non ten erros ortográficos"
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Non se puido iniciar a biblioteca Enchant (%s)."
      
      #: ../spellcheck/src/speller.c:346
      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:46
      msgid "Spell Check"
      msgstr "Verificación ortográfica"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Verifica a ortografía do documento actual."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Executar a verificación ortográfica"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Intercambiar a verificación mentres se escribe"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Seleccionar directorio"
      
      #: ../spellcheck/src/scplugin.c:284
      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:288
      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:293
      #, 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:308
      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:318
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Verificar a ortografía mentres se escribe"
      
      #: ../spellcheck/src/scplugin.c:329
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Verificar a ortografía mentres se escribe"
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Idioma a empregar na comprobación ortográfica:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "_Directorio no que buscar ficheiros de diccionario:"
      
      #: ../spellcheck/src/scplugin.c:354
      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:385
      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:41
      msgid "Shift Column"
      msgstr "DEsprazar columna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "DEsprazar á esquerda"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:328
      #, 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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      #, fuzzy
      msgid "(Empty)"
      msgstr "Baleiro"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, 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:1044
      msgid "NewDirectory"
      msgstr "NovoDirectorio"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "NovoFicheiro"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Está seguro de que desexa borrar '%s' ?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      msgid "Go _Up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "Definir camiño a partir de documento"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "Abrir externamente"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "Abrir terminal"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "Definir como raíz"
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "Actualizar"
      
      #: ../treebrowser/src/treebrowser.c:1235
      #, fuzzy
      msgid "_Find in Files"
      msgstr "Procurar en todo o proxecto "
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Seleccionar a cor"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "NovoFicheiro"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "Renomear"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Pechar: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "Pec_har os outros documentos"
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "Copiar o camiño completo"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Expandir todos"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Contraer todos"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "Mostrar marcadores"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Mostrar os ficheiros ocultos"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "Mostrar barras"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr "Subir"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Actualizar"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Inicio"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Definir camiño a partir de documento"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr "RExistrar camiño"
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Ocultar barras"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra de enderezo, por exemplo '/proxectos/o-meu-proxecto'"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr "Explorador en árbore"
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Orde externa para abrir"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      #, 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:1991
      #, fuzzy
      msgid "Show icons"
      msgstr "Mostrar iconas."
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1994
      #, fuzzy
      msgid "Base"
      msgstr "_Base:"
      
      #: ../treebrowser/src/treebrowser.c:1995
      #, fuzzy
      msgid "Content-type"
      msgstr "Contidos"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Mostrar os ficheiros ocultos"
      
      #: ../treebrowser/src/treebrowser.c:2006
      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:2008
      msgid "Hide object files"
      msgstr "Ocultar ficheiros obxecto"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr "Inverter o filtro"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Seguir o documento actual"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "Un só click abre o documento e enfñocase nel"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Premer dúas veces para abrir directorio"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "Ao borrar un ficheiro, pechalo se está aberto"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Mostrar as liñas da árbore"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Mostrar marcadores"
      
      #: ../treebrowser/src/treebrowser.c:2057
      #, fuzzy
      msgid "Open new files"
      msgstr "Abrir ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:2137
      #, fuzzy
      msgid "Focus File List"
      msgstr "Enfocar na lista de tarefas"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2141
      #, fuzzy
      msgid "Rename Object"
      msgstr "Renomear"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "NovoFicheiro"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Seleccionar a cor"
      
      #: ../treebrowser/src/treebrowser.c:2149
      #, fuzzy
      msgid "Track Current"
      msgstr "RExistrar camiño"
      
      #: ../updatechecker/src/updatechecker.c:40
      #, fuzzy
      msgid "Updatechecker"
      msgstr "Act_ualizar"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Mostrar marcadores"
      
      #: ../webhelper/src/gwh-plugin.c:334
      #, fuzzy
      msgid "Browser orientation"
      msgstr "Orientación do papel:"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      #, fuzzy
      msgid "Browser"
      msgstr "Explorador en árbore"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Crear un directorio novo"
      
      #: ../workbench/src/dialogs.c:74
      #, fuzzy
      msgid "Open workbench"
      msgstr "Abrir URI"
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "Abrir URI"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Ocultar ficheiros obxecto"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      #, fuzzy
      msgid "_Add"
      msgstr "Eng_adir ambos"
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "Xa existe o ficheiro de proxecto \"%s\""
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Reverter o directorio"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "Configuración do contorno"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      #, fuzzy
      msgid "Workbench settings"
      msgstr "Configuración do contorno"
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "Procurar en todo o proxecto "
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, fuzzy, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "Crear un ficheiro novo"
      
      #: ../workbench/src/menu.c:122
      #, fuzzy, c-format
      msgid "Could not open workbench file: %s"
      msgstr ""
      "Produciuse un erro ao cargar o tipo de ficheiro \"%s\" dende o ficheiro \"%s"
      "\": %s"
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr ""
      "Produciuse un erro ao cargar o tipo de ficheiro \"%s\" dende o ficheiro \"%s"
      "\": %s"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "Iniciando"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "Pechar: %s"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr ""
      "Produciuse un erro ao cargar o tipo de ficheiro \"%s\" dende o ficheiro \"%s"
      "\": %s"
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Procurar en todo o proxecto "
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Proxecto novo"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Renomear"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "Ocultar ficheiros obxecto"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "Reverter o directorio"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Reverter o directorio"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Reverter o directorio"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "_Directorio"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "Mostrar o diff do directorio"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "%s: non hai tal ficheiro ou directorio"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "Crear un directorio novo"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "Abrir ficheiro"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "Expandir todos"
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "Contraer todos"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "Elimina_r marcador"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "_Base:"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "NovoDirectorio"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Proxecto"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "_Directorio"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "Directorio _base"
      
      #: ../workbench/src/wb_project.c:945
      #, fuzzy
      msgid "File Patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../workbench/src/wb_project.c:957
      #, fuzzy
      msgid "Ignored Dir. Patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../workbench/src/wb_project.c:969
      #, fuzzy
      msgid "Ignored File Patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, fuzzy, c-format
      msgid "Number of Files: %u\n"
      msgstr "Número do volume"
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Proxecto"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Pechar: %s"
      
      #: ../workbench/src/wb_project.c:1008
      #, fuzzy, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Número do volume"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, fuzzy, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "O ficheiro \"%s\" existe pero non é un ficheiro normal"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "Crear un ficheiro novo"
      
      #, fuzzy
      #~ msgid "E_xpand all"
      #~ msgstr "Expandir todos"
      
      #, fuzzy
      #~ msgid "Create New File"
      #~ msgstr "Crear un ficheiro novo"
      
      #, fuzzy
      #~ msgid "Create New Directory"
      #~ msgstr "Crear un directorio novo"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "Invocar o visor de documentación no símbolo actual."
      
      #, fuzzy
      #~ msgid "Column mode, select to line / brace / anchor."
      #~ msgstr "Modo de columna, seleccionar ata a liña ou chave correspondente."
      
      #~ msgid "Insert/Fill columns with numbers."
      #~ msgstr "Inserir ou encher columnas con números."
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "Escriba e execute scripts Lua para ordes personalizadas."
      
      #, fuzzy
      #~ msgid "Alternative project support."
      #~ msgstr "Apoio alternativo a proxectos."
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Unha interface para diferentes sistemas de control de versións"
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Desprazar unha selección á dereita e á esquerda"
      
      #~ msgid "Delete"
      #~ msgstr "Borrar"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #, fuzzy
      #~ msgid "System plugin directory not found."
      #~ msgstr "Non se atopou o directorio temporal de tty!\n"
      
      #, fuzzy
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #, 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"
      
      #~ 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 ""
      #~ "\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"
      
      #~ 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.32/po/ChangeLog0000644000175000017500000002235213132733713016706 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.32/po/el.po0000644000175000017500000050765113204251613016100 0ustar00frlanfrlan00000000000000# Greek translations for geany-plugins package.
      # Copyright (C) 2017 THE geany-plugins'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # Frank Lanitz , 2017.
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: geany-plugins 1.31\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+0100\n"
      "PO-Revision-Date: 2017-06-28 22:25+0200\n"
      "Last-Translator: Frank Lanitz \n"
      "Language-Team: Greek\n"
      "Language: el\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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr ""
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr ""
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr ""
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr ""
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr ""
      
      #: ../addons/src/addons.c:494
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      
      #: ../addons/src/addons.c:498
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:505
      msgid "Sort the documents in the order of the document tabs"
      msgstr ""
      
      #: ../addons/src/addons.c:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr ""
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr ""
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr ""
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      msgid "Move cursor to beginning"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      msgid "Improved auto-indentation"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      msgid "Enclose selections"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr ""
      
      #: ../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 ""
      
      #. 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:42
      msgid "Commander"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      msgid "Show Command Panel"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:776
      msgid "Show Command Panel (Commands Only)"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:780
      msgid "Show Command Panel (Files Only)"
      msgstr ""
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr ""
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr ""
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr ""
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr ""
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr ""
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr ""
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr ""
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr ""
      
      #. 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 ""
      
      #: ../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:526
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      msgid "Target"
      msgstr ""
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr ""
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr ""
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr ""
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr ""
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr ""
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr ""
      
      #: ../debugger/src/keys.c:56
      msgid "Jump to the current instruction"
      msgstr ""
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr ""
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:529
      msgid "_Search for:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      msgid "pattern"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      msgid "_Declaration"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      msgid "Generate tags"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:654
      msgid "Find tag..."
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:659
      msgid "Find tag"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      msgid "Convert selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      msgid "Open _Manual"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr ""
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr ""
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr ""
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr ""
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr ""
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr ""
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr ""
      
      #: ../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 ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../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/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 ""
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "I_nsert Special Character"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Insert _Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr ""
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      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 ""
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      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:381
      msgid "_Lua Scripts"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:412
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:588
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:599
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:170
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:176
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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 ""
      
      #: ../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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr ""
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr ""
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:415
      msgid "GeanyPy"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1901
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2070
      msgid "Make a diff from the current active file"
      msgstr ""
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2078
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2087
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2100
      msgid "Shows the log of the current file"
      msgstr ""
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2105
      msgid "_Original"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr ""
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr ""
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr ""
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr ""
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      msgid "Failed to paste the code"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      msgid "Go to the previous hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      msgid "Go to the next hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      msgid "Remove _Unique Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:260
      msgid "Keep _Unique Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:263
      msgid "Remove _Empty Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      msgid "_Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:320
      msgid "Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      msgid "Lipsum"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      msgid "_Lipsum..."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      msgid "Save HTML File As"
      msgstr ""
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      msgid "All Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:322
      #, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:47
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      msgid "Move to message window"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      msgid "Move to sidebar"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:81
      msgid "Open Tab"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:96
      msgid "Open Window"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      msgid "Previous tab"
      msgstr ""
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      msgid "Show Tabs"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      msgid "Unable to locate default shell in configuration file"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:202
      msgid "New terminal"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      msgid "Terminal"
      msgstr ""
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr ""
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      msgid "Unable to run command: %s"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching 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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      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:1554
      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:1560
      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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:40
      msgid "Project Organizer"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      msgid "Find in Project Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      msgid "Find Project File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      msgid "Find Project Symbol..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      msgid "Find project symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      msgid "Index all project files:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:634
      msgid "No"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      msgid "Find File"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      msgid "project or external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      msgid "Add External Directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      msgid "Add"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      msgid "Find Symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      msgid "Add external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      msgid "Find in Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      msgid "Find File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      msgid "Find Symbol..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      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 ""
      
      #: ../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
      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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr ""
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr ""
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      msgid "Run to source"
      msgstr ""
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr ""
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      msgid "Toggle breakpoint"
      msgstr ""
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr ""
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr ""
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      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: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 ""
      
      #: ../sendmail/src/sendmail.c:45
      msgid "SendMail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:46
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr ""
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:322
      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 ""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:334
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr ""
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:299
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:293
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:329
      msgid "Check spelling when opening a document"
      msgstr ""
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:385
      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:41
      msgid "Shift Column"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      msgid "LaTeX"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:328
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewDirectory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1209
      msgid "Go _Up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1213
      msgid "Set _Path From Document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1217
      msgid "_Open Externally"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1222
      msgid "Open _Terminal"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1226
      msgid "Set as _Root"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1231
      msgid "Refres_h"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1243
      msgid "N_ew Folder"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1247
      msgid "_New File"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1251
      msgid "Rena_me"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, c-format
      msgid "Clo_se Child Documents "
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1274
      msgid "_Copy Full Path to Clipboard"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1283
      msgid "E_xpand All"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1287
      msgid "Coll_apse All"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1294
      msgid "Show Boo_kmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1299
      msgid "Sho_w Hidden Files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1304
      msgid "Show Tool_bars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Show icons"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2006
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2008
      msgid "Hide object files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2013
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2015
      msgid "Reverse filter"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2143
      msgid "New File"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2145
      msgid "New Folder"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2149
      msgid "Track Current"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "List of bookmarks"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr ""
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:43
      msgid "Create new workbench"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:74
      msgid "Open workbench"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:77
      msgid "_Open"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      msgid "Add project"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:119
      msgid "Project files (.geany)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:150
      msgid "Add directory"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:218
      msgid "Directory settings"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:232
      msgid "File patterns:"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:361
      msgid "Rescan all projects on open:"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, c-format
      msgid "Could not create new workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:139
      #, c-format
      msgid "Could not save workbench file: %s"
      msgstr ""
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      msgid "S_ettings"
      msgstr ""
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      msgid "_Close"
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, c-format
      msgid "Could not add project file: %s"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:518
      msgid "_Add project..."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:524
      msgid "_Save project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:530
      msgid "_Remove project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:536
      msgid "_Fold/unfold project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      msgid "_Add directory..."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:564
      msgid "_Remove directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:570
      msgid "_Rescan directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:576
      msgid "_Directory settings"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:582
      msgid "_Fold/unfold directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:588
      msgid "_Open all files in directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:594
      msgid "_Close all files in directory"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:604
      msgid "_Open all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      msgid "_Expand all"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:626
      msgid "_Collapse all"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      msgid "_Remove from Bookmarks"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:291
      msgid "Base dir"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:324
      msgid "No directories"
      msgstr ""
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, c-format
      msgid "%s: %u Projects"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, c-format
      msgid "Directory-Name: %s\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:943
      #, c-format
      msgid "Base-Directory: %s\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:945
      msgid "File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, c-format
      msgid "Number of Files: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1006
      #, c-format
      msgid "Project: %s\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1007
      #, c-format
      msgid "File: %s\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1008
      #, c-format
      msgid "Number of Directories: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      geany-plugins-1.32/po/fr.po0000644000175000017500000072211113204251613016075 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+0100\n"
      "PO-Revision-Date: 2017-03-05 16:25+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Marque-pages"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "Additions"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Diverses petites additions pour Geany"
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "Donner le focus à la liste de marque-pages"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Donner le focus à la liste de tâches"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Mettre la liste de tâches à jour"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr "Lancer le taggage XML"
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      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:494
      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:498
      msgid "Sort documents by _name"
      msgstr "Trier les documents par _nom"
      
      #: ../addons/src/addons.c:500
      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:503
      msgid "Sort documents by _occurrence"
      msgstr "Trier les documents par ordre d'_apparition"
      
      #: ../addons/src/addons.c:505
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Trier les documents dans l'ordre des onglets"
      
      #: ../addons/src/addons.c:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Trier les documents par ordre d'_apparition (inversé)"
      
      #: ../addons/src/addons.c:510
      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:537
      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:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Montrer les tâches disponibles dans la fenêtre des messages"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Montrer les tâches de tous les documents"
      
      #: ../addons/src/addons.c:553
      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:560
      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:562
      msgid "Search tokens:"
      msgstr "Mots à rechercher :"
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Montrer l'icône d'état dans la zone de notification"
      
      #: ../addons/src/addons.c:585
      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:591
      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:597
      msgid "Deselect a previous highlight by single click"
      msgstr "Un simple clic supprime les marqueurs"
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr "Supprimer les lignes vides à la fin du document"
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr "Taggage XML de la sélection"
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr "Entourer la sélection avec des raccourcis configurables"
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr "Configurer les paires d'entourage"
      
      #: ../addons/src/addons.c:631
      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:49
      #, fuzzy
      msgid "Auto-close"
      msgstr "Fermeture automatique"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr "Ferme automatiquement les parenthèses, accolades et autres"
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr "Fermeture automatique des guillemets et parenthèses"
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr "Parenthèses ( )"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr "Fermer les parenthèses automatiquement \"(\" -> \"(|)\""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr "Accolades { }"
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr "Fermer les accolades automatiquement \"{\" -> \"{|}\""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr "Crochets [ ]"
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr "Fermer les crochets automatiquement \"[\" -> \"[|]\""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr "Chevrons < >"
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr "Fermer les chevrons automatiquement \"<\" -> \"<|>\""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr "\tSeulement pour HTML"
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr "Ne fermer les chevrons automatiquement que pour les documents HTML"
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr "Guillemets doubles \" \""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr "Fermer les guillemets doubles automatiquement \" -> \"|\""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr "Guillemets simples ' '"
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr "Fermer les guillemets simples automatiquement ' -> '|'"
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr "Fermer les backquote automatiquement ` -> `|`"
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr "\tSeulement pour les scripts Shell (Bash)"
      
      #: ../autoclose/src/autoclose.c:1054
      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:1056
      msgid "Improve curly brackets completion"
      msgstr "Améliorer la complétion des accolades"
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr "Indenter lors de l'entourage"
      
      #: ../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 ""
      "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:1063
      msgid "Move cursor to beginning"
      msgstr "Déplacer le curseur au début"
      
      #: ../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 ""
      "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:1067
      msgid "Improved auto-indentation"
      msgstr "Indentation automatique améliorée"
      
      #: ../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 ""
      "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:1071
      msgid "\tWhitesmith's style"
      msgstr "\tStyle 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 ""
      "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:1077
      msgid "Delete pairing character while backspacing first"
      msgstr "Supprimer la paire avec retour arrière"
      
      #: ../autoclose/src/autoclose.c:1078
      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:1080
      msgid "Suppress double-completion"
      msgstr "Supprimer les doubles complétions"
      
      #: ../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 ""
      "Évite les complétions redondantes : si vous tapez « {} » vous obtenez « {} » "
      "et non « {}} »."
      
      #: ../autoclose/src/autoclose.c:1083
      msgid "Enclose selections"
      msgstr "Entourer la sélection"
      
      #: ../autoclose/src/autoclose.c:1084
      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:1086
      msgid "Keep selection when enclosing"
      msgstr "Garder la sélection lors de l'entourage"
      
      #: ../autoclose/src/autoclose.c:1087
      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:1089
      msgid "Behaviour inside comments and strings"
      msgstr "Comportement dans les commentaires et les chaînes"
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr "Autoriser la fermeture automatique"
      
      #: ../autoclose/src/autoclose.c:1091
      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:1092
      msgid "Enclose selections in strings and comments"
      msgstr "Entourer les sélections"
      
      #: ../autoclose/src/autoclose.c:1093
      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:1096
      msgid "Auto-complete \";\" for functions"
      msgstr "Compléter automatiquement « ; » pour les fonctions"
      
      #: ../autoclose/src/autoclose.c:1097
      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:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr "Maj+Retour Arrière supprime aussi l'accolade correspondante"
      
      #: ../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 ""
      "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:1103
      msgid "Jump on Tab to enclosed char"
      msgstr "Aller au caractère d'entourage avec Tab"
      
      #: ../autoclose/src/autoclose.c:1104
      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:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      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:425
      msgid "Implementations extensions"
      msgstr "Extensions des sources"
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr "Extensions des en-têtes"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr "Remettre à zéro"
      
      #: ../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 ""
      "Ê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:42
      msgid "Commander"
      msgstr "Commandeur"
      
      #: ../commander/src/commander-plugin.c:43
      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:772
      msgid "Show Command Panel"
      msgstr "Afficher le panneau de commande"
      
      #: ../commander/src/commander-plugin.c:776
      msgid "Show Command Panel (Commands Only)"
      msgstr "Afficher le panneau de commande (commandes seulement)"
      
      #: ../commander/src/commander-plugin.c:780
      msgid "Show Command Panel (Files Only)"
      msgstr "Afficher le panneau de commande (fichiers seulement)"
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr "Débogueur"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr "Intégration de divers débogueurs."
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "Déboguage"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Nom"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Valeur"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr "Choisir une cible"
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Cible :"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr "Parcourir…"
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr "Débogueur :"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr "Arguments de la ligne de commande"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "Variables d'environnement"
      
      #. 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 "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:526
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Le programme a reçu le signal %s (%s)"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Le programme s'est terminé avec le code « %i »"
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr "Impossible d'exécuter le processus gdb"
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Chargement du fichier cible.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:784
      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:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr "Erreur lors de la configuration de GDB"
      
      #: ../debugger/src/dbm_gdb.c:835
      #, 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:67
      #, 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:131
      msgid "Target"
      msgstr "Cible"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "Points d'arrêt"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr "Pile d'appel"
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr "Terminal de déboguage"
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "Messages du débogueur"
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "Exécuter / continuer"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "Stopper"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr "Redémarrer"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr "Exécuter jusqu'au curseur"
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "Ajouter / enlever un point d'arrêt"
      
      #: ../debugger/src/keys.c:56
      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:257
      msgid "To edit source files stop debugging session"
      msgstr "Stoppez la session de déboguage pour éditer les fichiers sources"
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Exécuter"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Configuration"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "Mode deux panneaux"
      
      #: ../debugger/src/btnpanel.c:153
      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:55
      #, fuzzy
      msgid "Define formatter"
      msgstr "Formateur de defines"
      
      #: ../defineformat/src/defineformat.c:56
      #, 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:44
      msgid "Devhelp Plugin"
      msgstr "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 ""
      "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:120
      #, 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:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Impossible d'obtenir la configuration par défaut : %s"
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Impossible d'écrire la configuration par défaut : %s"
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr "Activer tous les onglets"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr "Rechercher le symbole courant dans DevHelp"
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      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:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s (dans le dossier : %s)"
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr "L'exécution du processus a échoué (%s)"
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr "Rechercher un symbole"
      
      #: ../geanyctags/src/geanyctags.c:529
      msgid "_Search for:"
      msgstr "R_echercher :"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr "_Type de correspondance :"
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr "exacte"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr "préfixe"
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      msgid "pattern"
      msgstr "motif"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "Sensible à la c_asse"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      msgid "_Declaration"
      msgstr "_Déclaration"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr "Chercher la déclaration du symbole (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr "Chercher la définition du symbole (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      msgid "Generate tags"
      msgstr "Générer les tags"
      
      #: ../geanyctags/src/geanyctags.c:654
      msgid "Find tag..."
      msgstr "Rechercher un symbole…"
      
      #: ../geanyctags/src/geanyctags.c:659
      msgid "Find tag"
      msgstr "Rechercher un symbole"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Impossible d'analyser la sortie de la commande"
      
      #: ../geanydoc/src/geanydoc.c:351
      #, fuzzy
      msgid "Put output in buffer"
      msgstr "Placer la sortie dans le tampon"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Commande 0 :"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Commande 1 :"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w sera remplacé par le mot courant\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      #, fuzzy
      msgid "Convert selection"
      msgstr "Convertir la sélection"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr "Générateur de documentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr "Génère un squelette de documentation depuis le code source"
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Impossible de charger la configuration : %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Impossible d'enregistrer la configuration : %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, 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: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 ""
      "# 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:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "Impossible de charger le fichier « %s » : %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr "Insérer un commentaire de documentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr "_Documenter le symbole courant"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr "Générer la documentation pour le symbole courant"
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr "Documenter _tous les symboles"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      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:508
      msgid "_Reload Configuration Files"
      msgstr "_Recharger les fichiers de configuration"
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Forcer le rechargement des fichiers de configuration"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "Modifi_er la configuration du langage courant"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      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:525
      msgid "Open _Manual"
      msgstr "Ouvrir le _manuel"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr "Ouvrir le manuel dans un navigateur"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      msgid "_Documentation Generator"
      msgstr "Générateur de _documentation"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Général"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "_Enregistrer le fichier avant de générer la documentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr "_Indenter la documentation insérée"
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      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:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Type de documentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr "Environnement global"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      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:202 ../geanygendoc/src/ggd-utils.c:213
      #, 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:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Insérer des nombres"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "Décompte…"
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "Préparation…"
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "Insertion…"
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr "Pour base 11 et supérieure"
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "_Début :"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "_Pas :"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "_Base :"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Lettres :"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "_Majuscules"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr "M_inuscules"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr "_Préfixe de base"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      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:397
      msgid "Padding:"
      msgstr "Alignement :"
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "Esp_aces"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "_Zéros"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr "Lance l'assistant LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "Marque le texte sélectionné comme italique"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Marque le texte sélectionné comme gras"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Souligne le texte sélectionné"
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centré"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Aligné à gauche"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Aligné à droite"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "Utiliser le script KOMA par défaut"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "Afficher la barre d'outils supplémentaire du plugin"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr "Mettre une majuscule en début de phrase lors de la frappe"
      
      #: ../geanylatex/src/geanylatex.c:303
      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:305
      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:309
      msgid "Don't care about this inside plugin"
      msgstr "Ne pas s'en occuper depuis le plugin"
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Toujours effectuer la complétion automatique sur le LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr "Mode de complétion automatique"
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "Insérer un label"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "Nom du label :"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "Insérer une commande"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "Nom de la commande :"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "Insérer une référence"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "Nom de la référence"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "Référence _standard"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Référence à une _page"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr "_Ajouter les deux"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Plus"
      
      #: ../geanylatex/src/geanylatex.c:1202
      #, fuzzy
      msgid "Add additional package"
      msgstr "Ajouter des packages additionnels"
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "Nom du package :"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr "Options du package :"
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr "Insérer une référence BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr "Nom de la référence BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr "Aucun modèle associé. Abandon"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Modèle :"
      
      #: ../geanylatex/src/geanylatex.c:1758
      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:1767
      msgid "Default"
      msgstr "Par défaut"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "Classe du document :"
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "Choisissez le genre de document que vous voulez écrire"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Article"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Rapport"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Lettre"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Présentation"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Encodage :"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "Définit l'encodage pour votre nouveau document"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr "Taille de la police"
      
      #: ../geanylatex/src/geanylatex.c:1827
      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:1839
      msgid "Author:"
      msgstr "Auteur :"
      
      #: ../geanylatex/src/geanylatex.c:1842
      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:1856
      msgid "Date:"
      msgstr "Date :"
      
      #: ../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 ""
      "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:1871
      msgid "Title:"
      msgstr "Titre :"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr "Définit le titre de votre nouveau document."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "Taille du papier :"
      
      #: ../geanylatex/src/geanylatex.c:1886
      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:1899
      msgid "Paper Orientation:"
      msgstr "Orientation du papier :"
      
      #: ../geanylatex/src/geanylatex.c:1902
      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:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "Utiliser les classes de script KOMA si possible"
      
      #: ../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 ""
      "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:1932
      msgid "Use draft mode"
      msgstr "Utiliser le mode ébauche"
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "Lancer l'assistant LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "Insérer \\label"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "Insérer \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "Insérer une coupure de ligne \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "Insérer une commande"
      
      #: ../geanylatex/src/geanylatex.c:1962
      #, fuzzy
      msgid "Turn input replacement on/off"
      msgstr "Activer/désactiver les remplacements lors de la frappe"
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Remplacer les caractères spéciaux"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr "Afficher le dialogue d'insertion d'environnement"
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "Insérer \\item"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "Formater la sélection avec une police grasse"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "Formater la sélection avec une police italique"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "Formater la sélection avec une police à chasse fixe"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Centrer la sélection"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Aligner la sélection à gauche"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Aligner la sélection à droite"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr "Insérer une liste de description"
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr "Insérer une liste d'éléments"
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr "Insérer \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../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 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: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 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:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "_Assistant LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      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:2149
      msgid "I_nsert Special Character"
      msgstr "I_nsérer un caractère spécial"
      
      #: ../geanylatex/src/geanylatex.c:2151
      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:2161
      msgid "Insert _Reference"
      msgstr "Insérer une _référence"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "Insérer un _label"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "Aide à insérer des labels dans un document"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "Insérer un _environnement"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "Facilite l'insertion d'un environnement au document"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "Insérer un p_ackage"
      
      #: ../geanylatex/src/geanylatex.c:2186
      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:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Format"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "Taille de la p_olice"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "Remplacement de caractères _spéciaux"
      
      #: ../geanylatex/src/geanylatex.c:2234
      #, fuzzy
      msgid "Bulk _Replace Special Characters"
      msgstr "_Remplacement en masse de caractères spéciaux"
      
      #: ../geanylatex/src/geanylatex.c:2236
      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:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "Basculer le remplacement des caractères _spéciaux"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "Insérer une _commande"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr "Insérer une référence B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      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"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "    ==>> %s: Construction du menu depuis '%s'\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "Rien à configurer !"
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Ouvrir"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Sélectionner un fichier"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Parcourir…"
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Sélectionner une couleur"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Choisir…"
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Sélectionner une police"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Sélectionner…"
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, 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:165
      #, 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:170
      #, 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:176
      #, 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:205
      #, 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:224
      #, 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:429
      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 "Changer 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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr "Enregistrer une _macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr "Arrêter l'enregistrement de la _macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, un utilisateur de Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr "_Mini-script"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr "Marque-pages numérotés pour Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, 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:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr "_Ok"
      
      #: ../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 ""
      "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:977
      msgid "_Ignore"
      msgstr "_Ignorer"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr "Enregistrer l'état du pliage"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr "Centrer la vue après s'être rendu au marque-page"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr "Aller au début de la ligne"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr "Aller à la position enregistrée sur la ligne"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr "Aller à la position sur la ligne courante"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr "Aller à la fin de la ligne"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr "Enregistrer la configuration des fichiers avec celle du programme"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr "Enregistrer la configuration du fichier dans un fichier avec suffixe"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr "Enregistrer les marque-pages normaux"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr "Aide des marque-pages numérotés"
      
      #: ../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 ""
      "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:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr "Version de libgpgme utilisée :"
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr "Erreur dans"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Chiffrer"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "Signer"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "Déchiffrer ou vérifier"
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr "Rechercher du texte dans un projet GeanyPRJ"
      
      #: ../geanyprj/src/geanyprj.c:242
      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:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Nouveau projet"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "_Projet"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Supprimer le projet"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Ajouter un fichier"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Préférences"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Cac_her la barre latérale"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr "Projet"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Projet « %s » ouvert."
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, 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:415
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr "Support des plugins Python"
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc : erreur de s_spawn_sync : %s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, 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:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "Aucune modification n'a été effectuée."
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr "Pas d'historique disponible"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Voulez-vous vraiment rétablir : %s ?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Voulez-vous vraiment ajouter : %s ?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Voulez-vous vraiment supprimer : %s ?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Voulez-vous vraiment mettre à jour ?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "Commiter (O/N)"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Statut"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Chemin"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Ligne : %d Colonne : %d"
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Commit"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "Sélectionner/_désélectionner tous les fichiers"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "Message de commit :"
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr "C_ommit"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "Rien à commiter."
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, 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:1887
      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:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "Confirmer l'ajout de nouveaux fichiers au VCS"
      
      #: ../geanyvc/src/geanyvc.c:1901
      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:1907
      msgid "Maximize commit dialog"
      msgstr "Maximiser le dialogue de commit"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "Afficher le dialogue de commit maximisé."
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Utiliser une visionneuse de diff externe"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "Utiliser une visionneuse externe pour afficher les diff de fichiers."
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "Montrer les commandes dans le menu de l'éditeur"
      
      #: ../geanyvc/src/geanyvc.c:1924
      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:1929
      msgid "Attach menu to menubar"
      msgstr "Attacher le menu à la barre de menu"
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "Activer CVS"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "Activer Git"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "Activer SVN"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "Activer SVK"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Activer Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Activer Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "Langue de la vérification orthographique"
      
      #: ../geanyvc/src/geanyvc.c:2061
      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:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2070
      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:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "_Rétablir"
      
      #: ../geanyvc/src/geanyvc.c:2078
      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:2087
      msgid "_Blame"
      msgstr "_Blame"
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "_Historique (log)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      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:2105
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr "Affiche l'original du fichier courant"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "_Ajouter au gestionnaire de versions"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Ajouter le fichier au dépôt"
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "_Supprimer du gestionnaire de versions"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Supprimer le fichier du dépôt"
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Dossier"
      
      #: ../geanyvc/src/geanyvc.c:2147
      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:2156
      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:2166
      msgid "Shows the log of the current directory"
      msgstr "Afficher l'historique du dossier courant"
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "Dossier _racine"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr "Faire un diff depuis le dossier racine du VCS"
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr "Annuler les changements locaux."
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr "Afficher l'historique du dossier racine du VCS"
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "Co_mmit du VCS"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Afficher le diff du fichier"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Afficher le diff du dossier"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "Afficher le diff du dossier racine"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "Commiter les changements"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Afficher le statut"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Rétablir un seul fichier"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Rétablir le dossier"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Rétablir le dossier racine"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Mettre le fichier à jour"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "Gestionnaire de _versions"
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "Gestionnaire de _versions"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "_Statut"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Afficher le statut."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Mettre à jour depuis le dépôt distant."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "_Commit"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Commiter les changements."
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr "Envoyer votre code sur votre pastebin préféré"
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr "Groupe « %s » introuvable."
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr "Le groupe « %s » n'a pas de clé « %s »."
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr "Service de pastebin invalide."
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr "Je refuse de créer un paste vide"
      
      #: ../geniuspaste/src/geniuspaste.c:824
      msgid "Failed to paste the code"
      msgstr "Impossible de paster le code"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      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:831
      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:833 ../geniuspaste/src/geniuspaste.c:850
      msgid "Check the pastebin configuration and retry."
      msgstr "Vérifiez la configuration du pastebin et réessayez."
      
      #: ../geniuspaste/src/geniuspaste.c:844
      msgid "Failed to obtain paste URL."
      msgstr "Impossible d'obtenir l'URL du paste."
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr "Réponse inattendue du service de pastebin."
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr "Code envoyé avec succès"
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "Votre code est disponible à l'adresse suivante :%s"
      
      #: ../geniuspaste/src/geniuspaste.c:881
      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:894
      msgid "The author name field is empty!"
      msgstr "Le champ du nom de l'auteur est vide !"
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr "Choisissez un pastebin :"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr "Entrez le nom de l'auteur :"
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr "Afficher votre paste dans un nouvel onglet de navigateur"
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr "Barre de modifications Git"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      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:1386 ../pohelper/src/gph-plugin.c:1595
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Impossible de charger le fichier de configuration : %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, 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:1414 ../pohelper/src/gph-plugin.c:1623
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Impossible d'enregistrer le fichier de configuration : %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      msgid "Go to the previous hunk"
      msgstr "Aller au hunk précédent"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      msgid "Go to the next hunk"
      msgstr "Aller au hunk suivant"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, 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"
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr "Opération réussie ! %d lignes supprimées."
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr "Opération réussie ! Aucune ligne supprimée."
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr "Opération réussie ! %d lignes affectées."
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr "Supprimer les lignes en double, _triées"
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr "Supprimer les lignes en double, _ordonnées"
      
      #: ../lineoperations/src/lineoperations.c:258
      msgid "Remove _Unique Lines"
      msgstr "Supprimer les lignes _uniques"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "Supprimer les lignes _uniques"
      
      #: ../lineoperations/src/lineoperations.c:263
      msgid "Remove _Empty Lines"
      msgstr "Supprimer les lignes _vides"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr "Supprimer les lignes _blanches"
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr "Trier les lignes par ordre _croissant"
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr "Trier les lignes par ordre _décroissant"
      
      #: ../lineoperations/src/lineoperations.c:274
      msgid "_Line Operations"
      msgstr "Opérations sur les _lignes"
      
      #: ../lineoperations/src/lineoperations.c:320
      msgid "Line Operations"
      msgstr "Opérations sur les lignes"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection 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 ou une "
      "sélection, telles que la suppression de lignes en double, vides ou "
      "entièrement blanches, ou le tri des lignes."
      
      #: ../lipsum/src/lipsum.c:43
      msgid "Lipsum"
      msgstr "Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Créer de faux-textes avec Geany"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Générateur de faux-texte"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Entrez la longueur du faux-texte ici"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      "Le plugin a été renommé !\n"
      "\n"
      "GeanyLipsum a été renommé Lipsum, comme vous l'avez sans doutes déjà "
      "remarqué.\n"
      "Geany peut migrer l'ancienne configuration du plugin en déplaçant l'ancien "
      "fichier de configuration vers sa nouvelle place.\n"
      "Attention : cela n'inclut pas vos raccourcis personnalisés.\n"
      "Voulez-vous le déplacer maintenant ?"
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      "Votre dossier de configuration a été déplacé avec succès depuis « %s » vers "
      "« %s »."
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      "Votre ancien dossier de configuration « %s » n'a pas pu être déplacé vers "
      "« %s » (%s).  Veuillez le déplacer manuellement vers sa nouvelle place."
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      msgid "_Lipsum..."
      msgstr "_Lipsum…"
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "Ajoute du faux-texte à votre code"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Insérer un faux-texte"
      
      #. 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:34
      msgid "Real-time Markdown preview"
      msgstr "Aperçu en temps-réel des fichiers Markdown"
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr "Aperçu Markdown"
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr "Exporter le Markdown en HTML…"
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr "Le type du fichier courant n'est pas défini à Markdown."
      
      #: ../markdown/src/plugin.c:278
      msgid "Save HTML File As"
      msgstr "Enregistrer le fichier HTML sous"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr "Fichiers HTML"
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      msgid "All Files"
      msgstr "Tous les fichiers"
      
      #: ../markdown/src/plugin.c:322
      #, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "Impossible d'exporter le Markdown en HTML dans le fichier « %s » : %s"
      
      #: ../multiterm/src/config.vala:47
      #, 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
      #, 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
      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
      msgid "Move to sidebar"
      msgstr "Déplacer dans la barre latérale"
      
      #: ../multiterm/src/context-menu.vala:81
      msgid "Open Tab"
      msgstr "Nouvel onglet"
      
      #: ../multiterm/src/context-menu.vala:96
      msgid "Open Window"
      msgstr "Nouvelle fenêtre"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr "Onglet suivant"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      msgid "Previous tab"
      msgstr "Onglet précédent"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      msgid "Show Tabs"
      msgstr "Afficher les onglets"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr "Impossible de lancer le terminal externe : %s"
      
      #: ../multiterm/src/notebook.vala:137
      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
      msgid "New terminal"
      msgstr "Nouveau terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr "Émulateur de terminal multi-onglet"
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      msgid "Terminal"
      msgstr "Terminal"
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr "Fermer le terminal"
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      msgid "Unable to run command: %s"
      msgstr "Impossible d'exécuter la commande : %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr "Fournit une vue d'ensemble du document courant"
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr "Basculer la visibilité"
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr "Basculer la position droite/gauche"
      
      #: ../overview/overview/overviewplugin.c:200
      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
      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
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      "Trouve et met en évidence les balises HTML ouvrantes et fermantes "
      "correspondantes"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      #, fuzzy
      msgid "Go To Matching Tag"
      msgstr "Aller au tag correspondant"
      
      #: ../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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      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:1557
      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:1554
      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:1560
      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:40
      msgid "Translation Helper"
      msgstr "Assistant de traduction"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr "Améliore la gestion des fichiers de traduction GetText."
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Traduites : %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr "Approximatives : %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Non-traduites : %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr "Copier la chaîne non-traduite originale dans la traduction"
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, 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:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr "Nœuds vides"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr "Concaténation ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr "Espace ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr "Expansion ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "Indentation"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "Espace"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr "Retour à la ligne"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      msgid "Project Organizer"
      msgstr "Organisateur de projet"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      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:385
      msgid "Find in Project Files..."
      msgstr "Rechercher dans les fichiers du projet…"
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Rechercher dans les fichiers du projet"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      msgid "Find Project File..."
      msgstr "Rechercher un fichier du projet…"
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Rechercher un fichier du projet"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      msgid "Find Project Symbol..."
      msgstr "Rechercher un symbole du projet…"
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      msgid "Find project symbol"
      msgstr "Rechercher un symbole du projet"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr "Basculer à l'en-tête/la source"
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr "Basculer à l'en-tête/la source"
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr "Ouvrir le fichier sélectionné (Organisateur de projet)"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr "Motifs de sources :"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      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:593
      msgid "Header patterns:"
      msgstr "Motifs d'en-têtes :"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      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:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr "Motifs de dossiers ignorés :"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr "Motifs de dossiers ignorés :"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      msgid "Index all project files:"
      msgstr "Indexer tous les fichiers du projet :"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr "Automatique (indexer s'il y a moins de 300 fichiers)"
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr "Oui"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      msgid "No"
      msgstr "Non"
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      msgid "Find File"
      msgstr "Rechercher un fichier"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr "Rechercher dans :"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr "Rechercher dans le chemin complet"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      msgid "project or external directory"
      msgstr "projet ou dossier externe"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      msgid "Add External Directory"
      msgstr "Ajouter un dossier externe"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      msgid "Add"
      msgstr "Ajouter"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      msgid "Find Symbol"
      msgstr "Rechercher un symbole"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr "Type de correspondance :"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr "Définissez les motifs de fichiers dans « Projet → Propriétés »"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr "Tout recharger"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      msgid "Add external directory"
      msgstr "Ajouter un dossier externe…"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Tout étendre"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr "Plier jusqu'à la racine du projet"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr "Suivre l'éditeur actif"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr "Ouvrez un projet pour commencer à utiliser le plugin"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "Tout déplier"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      msgid "Find in Files..."
      msgstr "Rechercher dans les fichiers…"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      msgid "Find File..."
      msgstr "Rechercher un fichier…"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      msgid "Find Symbol..."
      msgstr "Rechercher un symbole…"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      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:521
      #, 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:521
      #, 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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s : %s."
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      #, fuzzy
      msgid "Setup program"
      msgstr "Configurer le programme"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      #, fuzzy
      msgid "Run/continue"
      msgstr "Exécuter / continuer"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      #, fuzzy
      msgid "Run to source"
      msgstr "Exécuter jusqu'à la source"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      #, fuzzy
      msgid "Terminate"
      msgstr "Terminer"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "Ajouter / enlever un point d'arrêt"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      #, fuzzy
      msgid "GDB command"
      msgstr "Commande de GDB"
      
      #: ../scope/src/scope.c:74
      #, fuzzy
      msgid "Show terminal"
      msgstr "Afficher le terminal"
      
      #: ../scope/src/scope.c:228
      #, fuzzy
      msgid "Busy"
      msgstr "Occupé"
      
      #: ../scope/src/scope.c:228
      #, fuzzy
      msgid "Ready"
      msgstr "Prêt"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      #, fuzzy
      msgid "Load"
      msgstr "Charger"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      #, fuzzy
      msgid "Breaks"
      msgstr "Points d'arrêt"
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr "Console"
      
      #: ../scope/src/scope.c:525
      #, 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: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"
      
      #: ../sendmail/src/sendmail.c:45
      msgid "SendMail"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:46
      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"
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "Adresse du destinataire"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "Entrez l'adresse email du destinataire :"
      
      #: ../sendmail/src/sendmail.c:143
      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é."
      
      #: ../sendmail/src/sendmail.c:149
      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é."
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Impossible d'exécuter le client mail, veuillez vérifier votre configuration."
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "Veuillez d'abord définir un client e-mail."
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "Le fichier doit d'abord être enregistré avant de l'envoyer."
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "E-Mail"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "Envoyer par email"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "Chemin et options du client mail :"
      
      #: ../sendmail/src/sendmail.c:322
      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\""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "Afficher l'icône dans la barre d'outils"
      
      #: ../sendmail/src/sendmail.c:334
      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."
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr "Utilisez le dialogue pour entrer les adresses e-mail des destinataires"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Envoyer le fichier par e-mail"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      "Le plugin a été renommé !\n"
      "\n"
      "GeanySendMail a été renommé SendMail, comme vous l'avez sans doutes déjà "
      "remarqué.\n"
      "Geany peut migrer l'ancienne configuration du plugin en déplaçant l'ancien "
      "fichier de configuration vers sa nouvelle place.\n"
      "Voulez-vous le déplacer maintenant ?"
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      "Votre ancien dossier de configuration « %s » n'a pas pu être déplacé vers "
      "« %s » (%s).  Veuillez le déplacer manuellement vers sa nouvelle place."
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "Envoyer par _mail"
      
      #: ../sendmail/src/sendmail.c:445
      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"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Essayez : "
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "Vérification"
      
      #: ../spellcheck/src/speller.c:299
      #, 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:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Vérification du fichier « %s » (en utilisant %s) :"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "Le texte vérifié est correctement orthographié."
      
      #: ../spellcheck/src/speller.c:345
      #, 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:346
      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:46
      msgid "Spell Check"
      msgstr "Vérification orthographique"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Vérifie l'orthographe du document courant."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Lancer la vérification orthographique"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Basculer la vérification lors de la frappe"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Sélectionner un dossier"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr "Afficher le bouton dans la barre d'outils"
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "Afficher les suggestions dans le menu de l'éditeur"
      
      #: ../spellcheck/src/scplugin.c:293
      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:308
      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:318
      msgid "Interface"
      msgstr "Interface"
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Vérifier l'orthographe lors de la frappe"
      
      #: ../spellcheck/src/scplugin.c:329
      msgid "Check spelling when opening a document"
      msgstr "Vérifier l'orthographe à l'ouverture d'un document"
      
      #: ../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 ""
      "Cette option active la vérification des documents lors de leur ouverture "
      "dans Geany ou lorsqu'ils sont rechargés."
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Langue à utiliser lors de la vérification orthographique :"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "_Dossier où chercher les fichiers de dictionnaire :"
      
      #: ../spellcheck/src/scplugin.c:354
      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:385
      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:41
      msgid "Shift Column"
      msgstr "Déplacer une colonne"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "Déplacer vers la gauche"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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: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 "Une erreur est survenue lors de l'analyse de la sélection.  Arrêt"
      
      #: ../tableconvert/src/tableconvert.c:328
      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
      #, fuzzy
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(Vide)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, 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:1044
      msgid "NewDirectory"
      msgstr "NouveauDossier"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "NouveauFichier"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, 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:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Voulez-vous vraiment supprimer « %s » ?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      #, fuzzy
      msgid "Go _Up"
      msgstr "_Monter"
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "_Définir le chemin depuis le document"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "_Ouvrir dans un programme externe"
      
      #: ../treebrowser/src/treebrowser.c:1222
      msgid "Open _Terminal"
      msgstr "Ouvrir dans un _terminal"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "Définir comme _racine"
      
      #: ../treebrowser/src/treebrowser.c:1231
      msgid "Refres_h"
      msgstr "Rafraîc_hir"
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr "Rechercher dans les _fichiers"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Sélectionner un dossier"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "NouveauFichier"
      
      #: ../treebrowser/src/treebrowser.c:1251
      msgid "Rena_me"
      msgstr "Reno_mmer"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Fermer « %s »"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, c-format
      msgid "Clo_se Child Documents "
      msgstr "Fermer les documents enf_ants"
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "_Copier le chemin complet dans le presse-papier"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Tout déplier"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Tout re_plier"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "Afficher les mar_que-pages"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Aff_icher les fichiers cachés"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "Afficher les _barres d'outils"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, 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:1743
      msgid "Go up"
      msgstr "Dossier parent"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Rafraîchir"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Dossier personnel"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Définir le chemin depuis le document"
      
      # Qu'est-ce que ça fait en pratique ?
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr "Suivre le chemin"
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Cacher les barres d'outils"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barre de chemin, par exemple « /projets/mon-projet »"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Commande du programme externe"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      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:1978
      msgid "Toolbar"
      msgstr "Barre d'outils"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Cachée"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Au dessus"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "En dessous"
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "If position is changed, the option require plugin restart."
      msgstr "Cette option nécessite un redémarrage du plugin."
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Show icons"
      msgstr "Afficher les icônes"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Aucune"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "Basiques"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "Depuis le type de contenu"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Afficher les fichiers cachés"
      
      #: ../treebrowser/src/treebrowser.c:2006
      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:2008
      msgid "Hide object files"
      msgstr "Cacher les fichiers objets"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr "Inverser le filtre"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr "Suivre le document courant"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr "Un simple clic ouvre le document et lui donne le focus"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Un double clic ouvre le dossier"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "Fermer les fichiers lorsqu'ils sont supprimés"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr "Donner le focus à l'éditeur lors de l'ouverture d'un fichier"
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr "Afficher les guides d'arborescence"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Afficher les marque-pages"
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr "Ouvrir les nouveaux fichiers"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Aller à la liste de fichiers"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "Aller au champ de chemin"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "Renommer l'objet"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "NouveauFichier"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Sélectionner un dossier"
      
      # Qu'est-ce que ça fait en pratique ?
      #: ../treebrowser/src/treebrowser.c:2149
      #, fuzzy
      msgid "Track Current"
      msgstr "Suivre le chemin"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "Recherche de mises à jour"
      
      #: ../updatechecker/src/updatechecker.c:41
      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:194
      #, 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:202
      msgid "No newer Geany version available."
      msgstr "Il n'y a pas de version plus récente de Geany disponible"
      
      #: ../updatechecker/src/updatechecker.c:217
      #, 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:289
      msgid "Run updatecheck on startup"
      msgstr "Rechercher les mises à jour au lancement"
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr "Assistant 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 ""
      "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:140
      msgid "Web view"
      msgstr "Vue web"
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr "Aperçu web"
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr "Recharger lorsqu'un document est enregistré"
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr "Rechargement automatique du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:317
      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:322
      msgid "Browser last URI"
      msgstr "Dernière URI du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr "Dernière URI visitée par le navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "List of bookmarks"
      msgstr "Liste des marque-pages"
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr "Orientation du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr "Orientation du widget de navigation"
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr "Position du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:342
      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:348
      msgid "Browser separate window geometry"
      msgstr "Géométrie de la fenêtre de navigation séparée"
      
      #: ../webhelper/src/gwh-plugin.c:349
      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:354
      msgid "Inspector window geometry"
      msgstr "Géométrie de la fenêtre d'inspection"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr "Dernière géométrie de la fenêtre d'inspection"
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr "Inspecteur détaché"
      
      #: ../webhelper/src/gwh-plugin.c:361
      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:366
      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:367
      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:372
      msgid "Secondary windows are transient"
      msgstr "Les fenêtres secondaires sont éphémères"
      
      #: ../webhelper/src/gwh-plugin.c:373
      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:378
      msgid "Secondary windows type"
      msgstr "Type des fenêtres secondaires"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr "Le type des fenêtres secondaires"
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr "Basculer l'inspecteur web"
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr "Afficher/cacher la fenêtre du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr "Ajouter/supprimer le marque-page du site courant"
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Navigateur"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "Fenêtres"
      
      #: ../workbench/src/dialogs.c:43
      msgid "Create new workbench"
      msgstr "Créer un nouveau plan de travail"
      
      #: ../workbench/src/dialogs.c:74
      msgid "Open workbench"
      msgstr "Ouvrir un plan de travail"
      
      #: ../workbench/src/dialogs.c:77
      msgid "_Open"
      msgstr "_Ouvrir"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr "Fichiers de plan de travail (.geanywb)"
      
      #: ../workbench/src/dialogs.c:113
      msgid "Add project"
      msgstr "Ajouter un projet"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr "_Ajouter"
      
      #: ../workbench/src/dialogs.c:119
      msgid "Project files (.geany)"
      msgstr "Fichiers de projets (.geany)"
      
      #: ../workbench/src/dialogs.c:150
      msgid "Add directory"
      msgstr "Ajouter un répertoire"
      
      #: ../workbench/src/dialogs.c:218
      msgid "Directory settings"
      msgstr "Paramètres du répertoire"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr "_OK"
      
      #: ../workbench/src/dialogs.c:232
      msgid "File patterns:"
      msgstr "Motifs de fichiers :"
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      "Une liste séparée par des espaces de motifs utilisés pour identifier les "
      "fichiers à afficher dans l'arborescence des répertoires."
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      "Une liste séparée par des espaces de motifs utilisés pour identifier les "
      "fichiers à ne pas afficher dans l'arborescence des répertoires."
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      "Une liste séparée par des espaces de motifs utilisés pour identifier les "
      "répertoires à ignorer lors de la recherche des fichiers source."
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      "Note : les motifs ci-dessus n'affectent que le répertoire du plan de travail "
      "et ne sont pas utilisé dans le dialogue « Rechercher dans les fichiers »."
      
      #: ../workbench/src/dialogs.c:347
      msgid "Workbench settings"
      msgstr "Paramètres du plan de travail"
      
      #: ../workbench/src/dialogs.c:361
      msgid "Rescan all projects on open:"
      msgstr "Réindexer tous les projets à l'ouverture :"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      "Si cette option est activée (par défaut), tous les projets seront réindexés "
      "lors de l'ouverture du plan de travail."
      
      #: ../workbench/src/menu.c:95
      #, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "Impossible de créer le nouveau fichier de plan de travail : %s"
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr "Impossible d'ouvrir le fichier de plan de travail : %s"
      
      #: ../workbench/src/menu.c:139
      #, c-format
      msgid "Could not save workbench file: %s"
      msgstr "Impossible d'enregistrer le fichier de plan de travail : %s"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr "Plan de travail"
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr "_Nouveau…"
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr "_Ouvrir…"
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr "_Enregistrer"
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      msgid "S_ettings"
      msgstr "_Paramètres"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      msgid "_Close"
      msgstr "_Fermer"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      "Créez ou ouvrez un plan de travail\n"
      "via le menu Plan de travail."
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr "Gérez et personnalisez de multiple projets."
      
      #: ../workbench/src/popup_menu.c:232
      #, c-format
      msgid "Could not add project file: %s"
      msgstr "Impossible d'ajouter le fichier de projet : %s"
      
      #: ../workbench/src/popup_menu.c:518
      msgid "_Add project..."
      msgstr "_Ajouter un projet…"
      
      #: ../workbench/src/popup_menu.c:524
      msgid "_Save project"
      msgstr "_Enregistrer le projet"
      
      #: ../workbench/src/popup_menu.c:530
      msgid "_Remove project"
      msgstr "_Supprimer le projet"
      
      #: ../workbench/src/popup_menu.c:536
      msgid "_Fold/unfold project"
      msgstr "_Plier/déplier le projet"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr "_Ouvrir tous les fichiers du projet"
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr "_Fermer tous les fichier du projet"
      
      #: ../workbench/src/popup_menu.c:558
      msgid "_Add directory..."
      msgstr "_Ajouter un répertoire…"
      
      #: ../workbench/src/popup_menu.c:564
      msgid "_Remove directory"
      msgstr "_Supprimer le répertoire"
      
      #: ../workbench/src/popup_menu.c:570
      msgid "_Rescan directory"
      msgstr "_Réinspecter le répertoire"
      
      #: ../workbench/src/popup_menu.c:576
      msgid "_Directory settings"
      msgstr "_Paramètres du répertoire"
      
      #: ../workbench/src/popup_menu.c:582
      msgid "_Fold/unfold directory"
      msgstr "_Plier/déplier le répertoire"
      
      #: ../workbench/src/popup_menu.c:588
      msgid "_Open all files in directory"
      msgstr "_Ouvrir tous les fichiers dans le répertoire"
      
      #: ../workbench/src/popup_menu.c:594
      msgid "_Close all files in directory"
      msgstr "_Fermer tous les fichiers dans le répertoire"
      
      #: ../workbench/src/popup_menu.c:604
      msgid "_Open all files in folder"
      msgstr "_Ouvrir tous les fichiers dans le dossier"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr "_Fermer tous les fichiers dans le dossier"
      
      #: ../workbench/src/popup_menu.c:620
      msgid "_Expand all"
      msgstr "Tout ét_endre"
      
      #: ../workbench/src/popup_menu.c:626
      msgid "_Collapse all"
      msgstr "Tout re_plier"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr "_Ajouter aux marque-pages de plan de travail"
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr "_Ajouter aux marque-pages du projet"
      
      #: ../workbench/src/popup_menu.c:648
      msgid "_Remove from Bookmarks"
      msgstr "_Supprimer des marque-pages"
      
      #: ../workbench/src/sidebar.c:291
      msgid "Base dir"
      msgstr "Répertoire de base"
      
      #: ../workbench/src/sidebar.c:324
      msgid "No directories"
      msgstr "Aucun répertoire"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr "Aucun plan de travail ouvert."
      
      #: ../workbench/src/sidebar.c:598
      #, c-format
      msgid "%s: %u Projects"
      msgstr "%s : %u projets"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      "Ajoutez un projet\n"
      "via le menu contextuel."
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      "%s\n"
      "Fichier de projet non trouvé !"
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      "Ce projet ne contient aucun répertoire. Des répertoires peuvent être ajoutés "
      "à un projet via le menu contextuel."
      
      #: ../workbench/src/wb_project.c:942
      #, c-format
      msgid "Directory-Name: %s\n"
      msgstr "Nom de répertoire : %s\n"
      
      #: ../workbench/src/wb_project.c:943
      #, c-format
      msgid "Base-Directory: %s\n"
      msgstr "Répertoire de base : %s\n"
      
      #: ../workbench/src/wb_project.c:945
      msgid "File Patterns:"
      msgstr "Motifs de fichiers :"
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr "Motifs de répertoires ignorés :"
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr "Motifs de fichiers ignorés :"
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr "Nombre de sous-dossiers : %u\n"
      
      #: ../workbench/src/wb_project.c:982
      #, c-format
      msgid "Number of Files: %u\n"
      msgstr "Nombre de fichiers : %u\n"
      
      #: ../workbench/src/wb_project.c:1006
      #, c-format
      msgid "Project: %s\n"
      msgstr "Projet : %s\n"
      
      #: ../workbench/src/wb_project.c:1007
      #, c-format
      msgid "File: %s\n"
      msgstr "Fichier : %s\n"
      
      #: ../workbench/src/wb_project.c:1008
      #, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Nombre de répertoires : %u\n"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      "\n"
      "Le projet contiens des changements non enregistrés !\n"
      
      #: ../workbench/src/workbench.c:710
      #, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "Le fichier « %s » n'est pas un fichier de plan de travail valide !"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #~ msgid "Create _new file"
      #~ msgstr "Créer un _nouveau fichier"
      
      #~ msgid "E_xpand all"
      #~ msgstr "Tout _étendre"
      
      #~ msgid "Create New File"
      #~ msgstr "Créer un nouveau fichier"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Créer un nouveau dossier"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "Appeler le visionneur de documentation sur le symbole courant"
      
      #~ msgid "Insert/Fill columns with numbers."
      #~ msgstr "Insère ou remplit des colonnes avec des nombres."
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "Écrit et exécute des scripts Lua pour des commandes personnalisées."
      
      #~ msgid "gpg encryption plugin for geany"
      #~ msgstr "Chiffrement GPG pour Geany"
      
      #~ msgid "Alternative project support."
      #~ msgstr "Gestion de projet alternative."
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Interface pour différents systèmes de gestion de versions"
      
      #~ msgid "Formats an XML and makes it human-readable."
      #~ msgstr "Formate un fichier XML pour le rendre lisible par des humains"
      
      #~ msgid "Relatively simple GDB front-end."
      #~ msgstr "Interface relativement simple pour GDB."
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Déplacer une sélection vers la gauche ou la droite"
      
      #~ msgid "Delete"
      #~ msgstr "Supprimer"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #, fuzzy
      #~ msgid "Failed to import manager module"
      #~ msgstr "Impossible d'importer le module \"manager\""
      
      #, fuzzy
      #~ msgid "Failed to retrieve PluginManager from manager module"
      #~ msgstr "Impossible d'obtenir le PluginManager du module \"manager\""
      
      #~ msgid "System plugin directory not found."
      #~ msgstr "Dossier de plugins système introuvable."
      
      #, fuzzy
      #~ msgid "Unable to instantiate new PluginManager"
      #~ msgstr "Impossible d'instancier un nouveau PluginManager"
      
      #, 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"
      
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "Impossible de créer le dossier des plugins Python : %s : %s"
      
      #~ msgid "Python Plugin Manager"
      #~ msgstr "Gestionnaire de plugins Python"
      
      #~ 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 "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.32/po/tr.po0000644000175000017500000062631413204251613016123 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+0100\n"
      "PO-Revision-Date: \n"
      "Last-Translator: Gürkan Gür \n"
      "Language-Team: Gürkan Gür \n"
      "Language: tr_TR\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"
      "X-Generator: Poedit 1.5.5\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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Yer İmleri"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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 "Kabul Et"
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "İptal"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr "Tamam"
      
      #: ../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:334
      msgid "Copy File Path"
      msgstr "Dosya yolunu kopyala"
      
      #: ../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:52
      msgid "Addons"
      msgstr "Eklentiler"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Geany için birkaç ufak eklenti."
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "Yer İmleri Listesini Odakla"
      
      #: ../addons/src/addons.c:327
      msgid "Focus Tasks List"
      msgstr "Görev Listesini Odakla"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr "Görev lListesini Güncelle"
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr "Eklenti düzenleme dizini oluşturulamadı."
      
      #: ../addons/src/addons.c:494
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      
      #: ../addons/src/addons.c:498
      msgid "Sort documents by _name"
      msgstr "Döküma_nları isme göre sırala"
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:505
      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:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:537
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr ""
      
      #: ../addons/src/addons.c:543
      msgid "Show available Tasks in the Messages Window"
      msgstr "Mesajlar penceresinde erişilebilir görevleri göster"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr "Tüm dökümanlardan görevleri göster"
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "Bildiri alanında durum simgesi göster"
      
      #: ../addons/src/addons.c:585
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr "Otomatik kapatma"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr "Parantezleri otomatik kapatan yetenekli bir araç"
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr "Parantezleri otomatik olarak kapat"
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr "Parantezler ( )"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr "Parantezleri otomatik kapat \"(\" -> \"(|)\""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr "Süslü parantezler { }"
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr "Süslü parantezleri otomatik olarak kapat \"{\" -> \"{|}\""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr "Köşeli parantezler [ ]"
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr "Köşeli parantezleri otomatik olarak kapat \"[\" -> \"[|]\""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr "Küçük - büyük işaretleri < >"
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr "Küçük - büyük işaretlerini otomatik olarak kapat \"<\" -> \"<|>\""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr "\tSadece HTML için"
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr "Küçük - büyük işaretlerini sadece HTML dökümanlarında otomatik kapat"
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr "Çift tırnaklar \" \""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr "Çift tırnakları otomatik olarak kapat \" -> \"|\""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr "Tek tırnaklar ' '"
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr "Tek tırnakları otomatik olarak kapat ' -> '|'"
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr "Ters tırnaklar ` `"
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr "Ters tırnakları otomatik olarak kapat ` -> `|`"
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr "\tSadece kabuk betikleri için (Bash)"
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr "Ters tırnakları yalnızca Bash gibi kabuk betiklerinde otomatik kapat"
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "Hiçbir kodlama ayarlama"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "İşaretçiyi satırın sonuna kaydır"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Tarayıcı oryantasyonu"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Seçimi iptal et"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "Seçimi bir seviye aşağıya ayarla"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Varsayılan"
      
      #: ../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 ""
      
      #. 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 "Dosyaya Git..."
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr "Dosyaya Git"
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr "Açmak istediğiniz dosyayı girin:"
      
      #: ../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:42
      msgid "Commander"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      msgid "Show Command Panel"
      msgstr "Komut Panelini Göster"
      
      #: ../commander/src/commander-plugin.c:776
      #, fuzzy
      msgid "Show Command Panel (Commands Only)"
      msgstr "Komut Panelini Göster"
      
      #: ../commander/src/commander-plugin.c:780
      #, fuzzy
      msgid "Show Command Panel (Files Only)"
      msgstr "Komut Panelini Göster"
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr "Hata Ayıklayıcı"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      msgid "Debug"
      msgstr "Hata Ayıkla"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "İsim"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Değer"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr "Hedef Dosyayı Seçin"
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Hedef:"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr "Gözat"
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr "Hata Ayıklayıcı:"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr "Komut Satırı Argümanları"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "Çevre Değişkenleri"
      
      #. 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 "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:526
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Program sinyal aldı:"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Program \"%i\" kodu ile sonlandı"
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr "Gdb işlemi çalıştırılamadı"
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Hedef dosya yükleniyor.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:784
      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:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr "GDB ayarlanırken hata"
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      msgid "Target"
      msgstr "Hedef"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "Aralıklar"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr "Hata Ayıklama Terminali"
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "Hata Ayıklayıcı Mesajları"
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "Çalıştır/ Devam Et"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "Dur"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr "Yeniden Başlat"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "Kesme noktası ekle/çıkart"
      
      #: ../debugger/src/keys.c:56
      #, 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:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Çalıştır"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Ayarlar"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "Çift panel modu"
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr "Devam"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr "Devhelp Eklentisi"
      
      #: ../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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "'%s' adresinde ayar dizini oluşturulamadı"
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Öntanımlı seçenekler alınamadı: %s"
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Öntanımlı ayarlar yazılamadı: %s"
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr "Yan panelde içerik sekmesini aç/kapa"
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr "Yan panelde arama sekmesini aç/kapa"
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr "Belgelendirme sekmesini aç/kapat"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr "Tüm sekmeleri etkinleştir"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      #, fuzzy
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "Geany için gpg şifreleme anahtarı eklentisi"
      
      #: ../geanyctags/src/geanyctags.c:145
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: dosya veya dizin bulunamadı."
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      #, fuzzy
      msgid "Find Tag"
      msgstr "Bul:"
      
      #: ../geanyctags/src/geanyctags.c:529
      #, fuzzy
      msgid "_Search for:"
      msgstr "Şunun için ara:"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      #, fuzzy
      msgid "pattern"
      msgstr "Mektup"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr "Büyük/küçük h_arf duyarlı"
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      #, fuzzy
      msgid "_Declaration"
      msgstr "İlişkisel"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      #, fuzzy
      msgid "Generate tags"
      msgstr "Genel"
      
      #: ../geanyctags/src/geanyctags.c:654
      #, fuzzy
      msgid "Find tag..."
      msgstr "Bul:"
      
      #: ../geanyctags/src/geanyctags.c:659
      #, fuzzy
      msgid "Find tag"
      msgstr "Sonrakini Bul"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "Dök."
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "Komutun çıktısı ayrıştırılamadı"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "Çıktıyı önbelleğe koy"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "Komut 0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "Komut 1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w mevcut cümle ile yer değiştirecek\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "Fazladan Se_çim"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr "S_ütun Modu"
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr "Sütun Modu"
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      msgid "Convert selection"
      msgstr "Seçimi dönüştür"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      msgid "Documentation Generator"
      msgstr "Belge Oluşturucu"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr "Kaynak kodu temel alarak belgelendirmeyi biçimlendirir"
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Seçenekler yüklenemedi: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Seçenekler kaydedilemedi: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, 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: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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "\"%s\" dosyası yüklenirken hata: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      msgid "Force reloading of the configuration files"
      msgstr "Ayar dosyalarının tekrar yüklenmesini zorla"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr "G_eçerli Dil Yapılandırmasını Düzenle"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      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:525
      msgid "Open _Manual"
      msgstr "Klavuzu A_ç"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      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:530
      msgid "_Documentation Generator"
      msgstr "_Belge Oluşturucu"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      msgid "General"
      msgstr "Genel"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr "Belgelendirmeyi oluşturmadan do_syayı kaydet"
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Belgelendirme türü"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, 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:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      msgid "Insert Numbers"
      msgstr "Numara Girin"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      msgid "Counting..."
      msgstr "Sayılıyor..."
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr "Hazırlanıyor..."
      
      #: ../geanyinsertnum/src/insertnum.c:200
      msgid "Inserting..."
      msgstr "Ekleniyor..."
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:353
      msgid "_Start:"
      msgstr "Ba_şla:"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      msgid "S_tep:"
      msgstr "_Adım:"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      msgid "_Base:"
      msgstr "_Temel:"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      msgid "Letters:"
      msgstr "Harfler:"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      msgid "_Upper"
      msgstr "B_üyük"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr "Bo_şluk"
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr "S_ıfır"
      
      #: ../geanyinsertnum/src/insertnum.c:479
      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:115
      msgid "Runs LaTeX wizard"
      msgstr "LaTeX sihirbazını çalıştırır"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "Seçili metni eğik olarak işaretler"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Seçili metni kalın olarak işaretler"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Seçili metnin altını çizer"
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Ortalanmış"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Sola dayalı"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Sağa dayalı"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "Öntanımlı olarak KOMA betiği kullan"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "Ekstra eklenti araç çubuğunu göster"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "Etiket Ekle"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "Etiket adı:"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "Komut Girin"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "Komut adı:"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "Referans Ekle"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "Referans adı:"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "_Standart Referans"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Sa_yfa Referansı"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Daha fazla"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "Paket adı:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr "Paket seçenekleri:"
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr "BiBTex Referans adı:"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "Sayın Bay veya Bayan"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "En derin saygılarımızla"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr "Hiçbir şablon seçilmedi. İptal ediliyor"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Şablon:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr "Varsayılan"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "Döküman sınıfı:"
      
      #: ../geanylatex/src/geanylatex.c:1781
      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:1785
      msgid "Article"
      msgstr "Makale"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Rapor"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Mektup"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Sunum"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Kodlama:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      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:1821
      msgid "Font size"
      msgstr "Yazı tipi boyutu"
      
      #: ../geanylatex/src/geanylatex.c:1827
      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:1839
      msgid "Author:"
      msgstr "Yazar:"
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr "Tarih:"
      
      #: ../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 ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr "Başlık:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      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:1883
      msgid "Paper size:"
      msgstr "Kağıt boyutu:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      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:1899
      msgid "Paper Orientation:"
      msgstr "Kağıt Oryantasyonu:"
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr "Taslak modunu kullan"
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "LaTeX Sihirbazını Çalıştır"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "\\label ekle"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "\\ref ekle"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "Satır sonu ekle \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "Komut girin"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Özel karakterleri değiştir"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "\\item ekle"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Seçimi ortaya hizala"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Seçimi sola hizala"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Seçimi sağa hizala"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr "Seçimi bir seviye aşağıya ayarla"
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr "BiBTeX referans diyaloğu ekle"
      
      #: ../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 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:2049
      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:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX-Sihirbaz_ı"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      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:2149
      msgid "I_nsert Special Character"
      msgstr "_Özel Karakter Ekle"
      
      #: ../geanylatex/src/geanylatex.c:2151
      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:2161
      msgid "Insert _Reference"
      msgstr "_Referans Ekle"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "Etiket Ek_le"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "Bir dökümana etiket eklemeye yardımcı olur"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "Insert P_ackage"
      msgstr "P_aket Ekle"
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Biçim"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      msgid "F_ont size"
      msgstr "Yazı tipi b_oyutu"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "Özel Karakter Yer De_ğişimi"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2236
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Insert _Command"
      msgstr "Komut Ek_le"
      
      #: ../geanylatex/src/geanylatex.c:2257
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2282
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Insert B_ibTeX reference"
      msgstr "B_iBTeX referansı ekle"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      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"
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "_Lua Betikleri"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Menü '%s' kaynağından oluşturuluyor\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "Düzenlenecek bir şey yok!"
      
      #: ../geanylua/glspi_init.c:526
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Dosya aç"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "Dosya seçin"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "Gözat..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "Renk Seç"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "Seç..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "Yazıtipi Seçin"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "Seç..."
      
      #: ../geanylua/glspi_sci.c:412
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:588
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: Destek kütüphanesi %s yüklenemedi!\n"
      
      #: ../geanylua/geanylua.c:165
      #, 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:170
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:176
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: Destek kütüphanesi bulunamadı %s!\n"
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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 ""
      "Bu eklenti Geany'e makro özelliği eklemekte.\n"
      "\n"
      
      #: ../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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      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:2261
      msgid "Record _Macro"
      msgstr "_Makroyu Kaydet"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr "_Makroyu Kaydetmeyi Durdur"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      msgid "Mini Script"
      msgstr "Mini Betik"
      
      #: ../geanyminiscript/src/gms.c:58
      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:59
      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:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr "Geany için Numaralı Yer imleri"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr "_Tamam"
      
      #: ../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' Geany'de son kaydedildiğinden bu yana düzenlenmiş, bu sebeple "
      "işaretleyici pozisyonları yüklenmeyecek.\n"
      "Yine de işaretçileri yüklemek için Yoksay'a basın."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr "_Yoksay"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr "Satır başına taşı"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr "Satır sonuna taşı"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr "Numaralı Yer İmleri yardımı"
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr "Kullanılan libgpgme sürümü:"
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      msgid "Error from"
      msgstr "Hata kaynağı"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr "Şifrele"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr "İmzala"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr "Şifre Çöz / Onayla"
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      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:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Yeni Proje"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "_Proje"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Projeyi Sil"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Dosya Ekle"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Seçenekler"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "Yan Panel_i Gizle"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      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:69
      #, 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:415
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: s_spawn_sync hatası: %s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, 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:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "Hiç değişiklik yapılmadı."
      
      #: ../geanyvc/src/geanyvc.c:739
      msgid "No history available"
      msgstr "Geçmiş yok"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Gerçekten geri almak istiyor musunuz: %s?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Gerçekten eklemek istiyor musunuz: %s ?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Gerçekten kaldırmak istiyor musunuz: %s ?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "Gerçekten güncellemek istiyor musunuz?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "Teslim et Y/N"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "Durum"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "Yol"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "Teslim et"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "Teslim mesajı:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      msgid "C_ommit"
      msgstr "G_önder"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "Teslim edilecek bir şey yok."
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, 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:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1901
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Maximize commit dialog"
      msgstr "Teslim diyaloğunu büyüt"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "Teslim diyaloğunu geniş göster."
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "Harici diff görüntüleyici kullan"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "Dosya değişiklikleri için harici bir diff izleyici kullan."
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "CVS'i etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "GIT'i etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "SVN'i etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "SVK'yı etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "Bazaar'ı Etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "Mercurial'i Etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "İmla denetimi dili"
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2070
      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:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "_Eskiye dön"
      
      #: ../geanyvc/src/geanyvc.c:2078
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2087
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "_Geçmiş (kayıt)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      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:2105
      msgid "_Original"
      msgstr "_Orijinal"
      
      #: ../geanyvc/src/geanyvc.c:2108
      msgid "Shows the original of the current file"
      msgstr "Mevcut dosyanın orijinalini gösterir"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "S_ürüm Kontrolüne Ekle"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "Dosyayı depoya ekle."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "Sürüm Kont_rolünden Çıkart"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "Dosyayı depodan kaldır."
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "_Dizin"
      
      #: ../geanyvc/src/geanyvc.c:2147
      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:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr "Mevcut klasörün kayıtlarını gösterir."
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "_Temel Dizin"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr "Tüm yerel değişiklikleri geri al"
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "Dosyanın farkını göster"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "Dizinin farkını göster"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "Değişiklikleri uygula"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "Durumu göster"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "Tek dosyayı eski haline getir"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "Dizini eski haline getir"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "Temel dizini eski haline getir"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "Dosyayı güncelle"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2322
      msgid "_Version Control"
      msgstr "S_ürüm Kontrolü"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "_Durum"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "Durumu göster."
      
      #: ../geanyvc/src/geanyvc.c:2353
      msgid "Update from remote repository."
      msgstr "Uzak depodan güncelle."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "_Teslim Et"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "Değişiklikleri uygula."
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr "Kodunuzu favori pastebin servisine kaydedin"
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "%s dizini bulunamadı!\n"
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "geçersiz konum \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "İçerik XML olarak ayrıştırılamadı."
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      #, 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:844
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "Betik dosyası açılamadı."
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      #, fuzzy
      msgid "Unexpected response from the pastebin service."
      msgstr "Pinentry'den beklenmeyen hata."
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr "Yazar adı bölümü boş!"
      
      #: ../geniuspaste/src/geniuspaste.c:914
      msgid "Select a pastebin:"
      msgstr "Pastebin seçin:"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr "Yazar adını girin:"
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Seçenekler yüklenemedi: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, 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:1414 ../pohelper/src/gph-plugin.c:1623
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Seçenekler kaydedilemedi: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Önceki sayfaya git"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Sonraki sayfaya git"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, 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."
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Dosyayı Kaldır"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "Dosyayı Kaldır"
      
      #: ../lineoperations/src/lineoperations.c:263
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Dosyayı Kaldır"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Seçenekler"
      
      #: ../lineoperations/src/lineoperations.c:320
      #, fuzzy
      msgid "Line Operations"
      msgstr "Seçenekler"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      #, fuzzy
      msgid "Lipsum"
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      msgid "Creating dummy text with Geany"
      msgstr "Geany için rastgele yazı yazı üretiliyor"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Lipsum-Oluşturucu"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "Rastgele yazının uzunluğunu giriniz"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      #, fuzzy
      msgid "_Lipsum..."
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "Lipsum yazısı ekle"
      
      #. 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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      #, fuzzy
      msgid "Save HTML File As"
      msgstr "Dosyayı kaydet"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "Dosya Ekle"
      
      #: ../markdown/src/plugin.c:322
      #, fuzzy, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "\"%s\" dosyası yüklenirken hata: %s"
      
      #: ../multiterm/src/config.vala:47
      #, 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
      #, 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
      #, fuzzy
      msgid "Move to message window"
      msgstr "mesaj-penceresi"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "yan panel"
      
      #: ../multiterm/src/context-menu.vala:81
      #, fuzzy
      msgid "Open Tab"
      msgstr "Terminali Aç"
      
      #: ../multiterm/src/context-menu.vala:96
      #, fuzzy
      msgid "Open Window"
      msgstr "Ye_ni Pencere"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      #, fuzzy
      msgid "Previous tab"
      msgstr "Öncekini Bul"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Durumu göster"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "Öntanımlı ayarlar yazılamadı: %s"
      
      #: ../multiterm/src/notebook.vala:202
      #, fuzzy
      msgid "New terminal"
      msgstr "Terminaldi göster"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      #, fuzzy
      msgid "Terminal"
      msgstr "Sonlandır"
      
      #: ../multiterm/src/tab-label.vala:84
      #, fuzzy
      msgid "Close terminal"
      msgstr "Terminaldi göster"
      
      #: ../multiterm/src/terminal.vala:88
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Yorumu inşada hata: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching 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:1524
      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:1527
      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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      #, 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:1554
      #, 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:1560
      #, 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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr "İçerik XML olarak ayrıştırılamadı."
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr "Bağlanma ( den  e)"
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr "Boşluklama ( den  e)"
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr "Genişleme ( den  e)"
      
      #: ../pretty-printer/src/ConfigUI.c:425
      msgid "Indentation"
      msgstr "Girinti"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr "Boşluk"
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr "Satır sonu"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Proje Seçenekleri"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Proje Dosyalarında Ara"
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Proje dosyalarında ara"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Proje Dosyası Bul"
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Proje dosyası bul"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Proje Dosyası Bul"
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Proje dosyası bul"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      #, fuzzy
      msgid "Open Selected File (Project Organizer)"
      msgstr "Seçilen Dosyayı Aç (gproject)"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Proje dosyalarında ara"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      #, fuzzy
      msgid "Yes"
      msgstr "evet"
      
      #: ../projectorganizer/src/prjorg-project.c:634
      #, fuzzy
      msgid "No"
      msgstr "No."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      msgid "Find File"
      msgstr "Dosya Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr "Şurada ara:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      #, fuzzy
      msgid "project or external directory"
      msgstr "Yeni dizin oluştur"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Dizin Seçin"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      #, fuzzy
      msgid "Add"
      msgstr "Eklentiler"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Dosya Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr "Hepsini yeniden yükle"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      #, fuzzy
      msgid "Add external directory"
      msgstr "Dizini eski haline getir"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr "Hepsini aç"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr "Hepsini aç"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Dosyalarda Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      #, fuzzy
      msgid "Find File..."
      msgstr "Dosya Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Dosya Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      #, 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:521
      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:521
      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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      #, fuzzy
      msgid "Setup program"
      msgstr "program yok"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      msgid "Run/continue"
      msgstr "Çalıştır/devam et"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      #, fuzzy
      msgid "Run to source"
      msgstr "Konuma git"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      msgid "Terminate"
      msgstr "Sonlandır"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "kesme noktası"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      msgid "GDB command"
      msgstr "GDB Komutu"
      
      #: ../scope/src/scope.c:74
      msgid "Show terminal"
      msgstr "Terminaldi göster"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr "Meşgul"
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr "Hazır"
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr "Askıda"
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Load"
      msgstr "Yükle"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr "İnşa eylemi aktifleştirildi. Hata ayıklamayı sonlandır?"
      
      #: ../scope/src/scope.c:523
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:525
      msgid "Console"
      msgstr "Konsol"
      
      #: ../scope/src/scope.c:525
      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: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"
      
      #: ../sendmail/src/sendmail.c:45
      #, fuzzy
      msgid "SendMail"
      msgstr "GeanyEPostaGönder"
      
      #: ../sendmail/src/sendmail.c:46
      #, 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"
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "Alıcının Adresi"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "Alıcının e-posta adresini girin:"
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "Lütfen önce bir e-posta istemcisi tanımlayın."
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "Dosya gönderilmeden önce kaydedilmeli."
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "E-posta"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "E-posta olarak gönder"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "E-posta istemcisi için yol ve seçenekler:"
      
      #: ../sendmail/src/sendmail.c:322
      #, 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\""
      
      #: ../sendmail/src/sendmail.c:332
      msgid "Show toolbar icon"
      msgstr "Araç çubuğu simgesini göster"
      
      #: ../sendmail/src/sendmail.c:334
      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."
      
      #: ../sendmail/src/sendmail.c:340
      msgid "Use dialog for entering email address of recipients"
      msgstr "Alıcıların e-posta adreslerini girmek için dialog kullan"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "Dosyayı e-posta olarak gönder"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      msgid "_Mail document"
      msgstr "Dökü_manı e-postala"
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Dene:"
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "Kontrol Ediliyor"
      
      #: ../spellcheck/src/speller.c:299
      #, 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:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "\"%s\" dosyası kontrol ediliyor (%s kullanılarak):"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "Kontrol edilen yazı düzgün yazılmış."
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Enchant kütüphanesi yüklenemedi (%s)."
      
      #: ../spellcheck/src/speller.c:346
      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:46
      msgid "Spell Check"
      msgstr "imla denetimi"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Mevcut belgenin imla denetimini yapar."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "İmla Denetimi Yap"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Yazarken Kontrol Et"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Dizin Seçin"
      
      #: ../spellcheck/src/scplugin.c:284
      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:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:293
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:318
      #, fuzzy
      msgid "Interface"
      msgstr "İncele"
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Yazma sırasında imla denetimi yap"
      
      #: ../spellcheck/src/scplugin.c:329
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Yazma sırasında imla denetimi yap"
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "İmla denetimi için kullanılacak dil:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:385
      #, 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:41
      msgid "Shift Column"
      msgstr "Sütunu Kaydır"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "Sola Kaydır"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "Seçim işlenirken birşeyler yolunda gitmedi. İptal ediliyor."
      
      #: ../tableconvert/src/tableconvert.c:328
      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
      #, fuzzy
      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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      msgid "(Empty)"
      msgstr "(Boş)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, 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:1044
      msgid "NewDirectory"
      msgstr "YeniDizin"
      
      #: ../treebrowser/src/treebrowser.c:1046
      msgid "NewFile"
      msgstr "YeniDosya"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, 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:1097
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Gerçekten silmek istiyor musunuz: '%s' ?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      #, fuzzy
      msgid "Go _Up"
      msgstr "Y_ukarı Taşı"
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "Yolu belgeden ayarla"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "Harici _olarak aç"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "Terminali Aç"
      
      #: ../treebrowser/src/treebrowser.c:1226
      #, fuzzy
      msgid "Set as _Root"
      msgstr "Kök olarak ata"
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "Yenile"
      
      #: ../treebrowser/src/treebrowser.c:1235
      msgid "_Find in Files"
      msgstr "Dosy_alarda Ara"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "Dizin Seç"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "YeniDosya"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "Yeniden adlandır"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, c-format
      msgid "Close: %s"
      msgstr "Kapat: %s"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "Alt Dosyaları Kapat"
      
      #: ../treebrowser/src/treebrowser.c:1274
      #, fuzzy
      msgid "_Copy Full Path to Clipboard"
      msgstr "Tam yolu panoya _kopyala"
      
      #: ../treebrowser/src/treebrowser.c:1283
      #, fuzzy
      msgid "E_xpand All"
      msgstr "Hepsini aç"
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "Tümünü Kapat"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "Yer imlerini göster"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "Gizli dosyaları göster"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "Araç çubuklarını göster"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, 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:1743
      msgid "Go up"
      msgstr "Yukarı git"
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      msgid "Refresh"
      msgstr "Yenile"
      
      #: ../treebrowser/src/treebrowser.c:1753
      msgid "Home"
      msgstr "Ev"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Set path from document"
      msgstr "Yolu belgeden ayarla"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Track path"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1768
      msgid "Hide bars"
      msgstr "Çubukları gizle"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Adres satırı, örneğin '/projeler/benim-projem'"
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr "Ağaç Gezgini"
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr "Harici açma komutu"
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr "Araç Çubuğu"
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr "Gizli"
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr "Üstte"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr "Sonda"
      
      #: ../treebrowser/src/treebrowser.c:1987
      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:1991
      msgid "Show icons"
      msgstr "Simgeleri göster"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr "Hiçbiri"
      
      #: ../treebrowser/src/treebrowser.c:1994
      msgid "Base"
      msgstr "Temel"
      
      #: ../treebrowser/src/treebrowser.c:1995
      msgid "Content-type"
      msgstr "İçerik-türü"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "Show hidden files"
      msgstr "Gizli dosyaları göster"
      
      #: ../treebrowser/src/treebrowser.c:2006
      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:2008
      msgid "Hide object files"
      msgstr "Nesne dosyalarını gizle"
      
      #: ../treebrowser/src/treebrowser.c:2013
      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:2015
      msgid "Reverse filter"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "Double click open directory"
      msgstr "Dizini açmak için çift tık"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr "Silme tuşu, eğer açık ise kapat"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      msgid "Show tree lines"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Show bookmarks"
      msgstr "Yer imlerini göster"
      
      #: ../treebrowser/src/treebrowser.c:2057
      msgid "Open new files"
      msgstr "Yeni dosya aç"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Focus File List"
      msgstr "Dosya Listesini Odakla"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr "Yol Yazımını Odakla"
      
      #: ../treebrowser/src/treebrowser.c:2141
      msgid "Rename Object"
      msgstr "Nesneyi Yeniden adlandır"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "YeniDosya"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "Dizin Seç"
      
      #: ../treebrowser/src/treebrowser.c:2149
      msgid "Track Current"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "Güncelleme Kontrolü"
      
      #: ../updatechecker/src/updatechecker.c:41
      #, 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:194
      #, 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:202
      #, fuzzy
      msgid "No newer Geany version available."
      msgstr "Daha yeni bir sürüm var"
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr "Açılışta güncelleme denetlemesi yap"
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr "Web izlenimi"
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr "Web önizleme"
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr "Tarayıcı otomatik yenileme"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Yer imlerini göster"
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr "Tarayıcı oryantasyonu"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr "Tarayıcı pozisyonu"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr "Web İnceleyicisini Aç/Kapat"
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Tarayıcı"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "Yeni dizin oluştur"
      
      #: ../workbench/src/dialogs.c:74
      msgid "Open workbench"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "Adres Aç"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "Proje dosyası bul"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      msgid "_Add"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "Proje dosyası \"%s\" zaten mevcut"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "Dizini eski haline getir"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "Çevre ayarları"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      #, fuzzy
      msgid "_OK"
      msgstr "Tamam"
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "Mektup"
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      #, fuzzy
      msgid "Workbench settings"
      msgstr "Çevre ayarları"
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "Proje dosyalarında ara"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, fuzzy, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "Yeni dosya oluştur"
      
      #: ../workbench/src/menu.c:122
      #, fuzzy, c-format
      msgid "Could not open workbench file: %s"
      msgstr "\"%s\" dosyası yüklenirken hata: %s"
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr "\"%s\" dosyası yüklenirken hata: %s"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "Ayarlar"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "Kapat: %s"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "\"%s\" dosyası yüklenirken hata: %s"
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "Proje Dosyası Bul"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "Yeni Proje"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "Nesneyi Yeniden adlandır"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "Proje dosyası bul"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "Dizini eski haline getir"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "Dizini eski haline getir"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "Dizini eski haline getir"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "_Dizin"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "Dizinin farkını göster"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "%s: dosya veya dizin bulunamadı"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "Yeni dizin oluştur"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "Bir imza dosyası aç"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      #, fuzzy
      msgid "_Expand all"
      msgstr "Hepsini aç"
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "Tümünü Kapat"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "Ye_r İmini Kaldır"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "Temel"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "YeniDizin"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "Proje"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "_Dizin"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "_Temel Dizin"
      
      #: ../workbench/src/wb_project.c:945
      #, fuzzy
      msgid "File Patterns:"
      msgstr "Harfler:"
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, fuzzy, c-format
      msgid "Number of Files: %u\n"
      msgstr "Cilt numarası"
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "Proje"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "Kapat: %s"
      
      #: ../workbench/src/wb_project.c:1008
      #, fuzzy, c-format
      msgid "Number of Directories: %u\n"
      msgstr "Cilt numarası"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, fuzzy, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr "\"%s\" dosyası bulundu ama geçerli değil"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "Yeni dosya oluştur"
      
      #, fuzzy
      #~ msgid "E_xpand all"
      #~ msgstr "Hepsini aç"
      
      #~ msgid "Create New File"
      #~ msgstr "Yeni Dosya Oluştur"
      
      #~ msgid "Create New Directory"
      #~ msgstr "Yeni Dizin Oluştur"
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "Düzenlenebilen komutlar için Lua betikleri yazın ve çalıştırın."
      
      #~ msgid "gpg encryption plugin for geany"
      #~ msgstr "Geany için gpg şifreleme anahtarı eklentisi"
      
      #~ msgid "Alternative project support."
      #~ msgstr "Alternatif proje desteği."
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "Farklı sürüm kontrol sistemleri için arayüz."
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "Seçimi sola ve sağa kaydır"
      
      #~ msgid "Delete"
      #~ msgstr "Sil"
      
      #~ msgid "GeanyLipsum"
      #~ msgstr "GeanyLipsum"
      
      #~ msgid "System plugin directory not found."
      #~ msgstr "Sistem eklenti dizini bulunamadı."
      
      #, fuzzy
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "'%s' adresinde ayar dizini oluşturulamadı"
      
      #~ 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"
      
      #~ 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 ""
      #~ "\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"
      
      #~ 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.32/po/zh_CN.po0000644000175000017500000061331313204251613016472 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.30\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2017-11-05 14:45+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:625
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "书签"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
      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:201
      #: ../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:334
      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:52
      msgid "Addons"
      msgstr "附加组件"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "很多 Geany 的小附加组件。"
      
      #: ../addons/src/addons.c:325
      msgid "Focus Bookmark List"
      msgstr "焦点书签列表"
      
      #: ../addons/src/addons.c:327
      #, fuzzy
      msgid "Focus Tasks List"
      msgstr "焦点书签列表"
      
      #: ../addons/src/addons.c:329
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:331
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
      #: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
      #: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1942
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr "无法创建插件配置文件目录。"
      
      #: ../addons/src/addons.c:494
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr "在工具栏中显示当前打开文件列表"
      
      #: ../addons/src/addons.c:498
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:500
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:503
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:505
      #, fuzzy
      msgid "Sort the documents in the order of the document tabs"
      msgstr "为您的新文档设置编码"
      
      #: ../addons/src/addons.c:508
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:537
      #, fuzzy
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "在编辑器菜单中显示“打开URI”"
      
      #: ../addons/src/addons.c:543
      #, fuzzy
      msgid "Show available Tasks in the Messages Window"
      msgstr "在消息窗口中显示可用的任务"
      
      #: ../addons/src/addons.c:549
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:553
      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:560
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:562
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:579
      msgid "Show status icon in the Notification Area"
      msgstr "在通知区域显示状态图标"
      
      #: ../addons/src/addons.c:585
      #, fuzzy
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "显示定义的书签(标记的行)在侧栏"
      
      #: ../addons/src/addons.c:591
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:597
      msgid "Deselect a previous highlight by single click"
      msgstr ""
      
      #: ../addons/src/addons.c:607
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:613
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:619
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:623
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:631
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1063
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "将选中部分左对齐"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1067
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "简报"
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1083
      #, fuzzy
      msgid "Enclose selections"
      msgstr "选择字体"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1086
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "将选中部分居中"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../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 ""
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:48
      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:138
      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:395 ../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:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      #, fuzzy
      msgid "Reset to Default"
      msgstr "默认(%s)"
      
      #: ../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 ""
      
      #. 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:42
      #, fuzzy
      msgid "Commander"
      msgstr "命令0:"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:772
      #, fuzzy
      msgid "Show Command Panel"
      msgstr "命令0:"
      
      #: ../commander/src/commander-plugin.c:776
      #, fuzzy
      msgid "Show Command Panel (Commands Only)"
      msgstr "命令0:"
      
      #: ../commander/src/commander-plugin.c:780
      #, fuzzy
      msgid "Show Command Panel (Files Only)"
      msgstr "命令0:"
      
      #: ../debugger/src/plugin.c:55
      #, fuzzy
      msgid "Debugger"
      msgstr "调试器"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:228
      #, fuzzy
      msgid "Debug"
      msgstr "调试器"
      
      #: ../debugger/src/vtree.c:170 ../debugger/src/envtree.c:424
      #, fuzzy
      msgid "Name"
      msgstr "名称:"
      
      #: ../debugger/src/vtree.c:193 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:251
      #, fuzzy
      msgid "Target:"
      msgstr "Pages"
      
      #: ../debugger/src/tpage.c:254
      #, fuzzy
      msgid "Browse"
      msgstr "浏览..."
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      #, fuzzy
      msgid "Debugger:"
      msgstr "调试器"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      #, fuzzy
      msgid "Command Line Arguments"
      msgstr "命令0:"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      #, fuzzy
      msgid "Environment Variables"
      msgstr "环境"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:259 ../debugger/src/envtree.c:365
      #: ../debugger/src/debug.c:263
      #, 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:526
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "程序收到信号:"
      
      #: ../debugger/src/dbm_gdb.c:547
      #, fuzzy, c-format
      msgid "Program exited with code \"%i\""
      msgstr "程序退出,代码 %d [%s]\n"
      
      #: ../debugger/src/dbm_gdb.c:737
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:784
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:789 ../debugger/src/dbm_gdb.c:792
      #: ../debugger/src/dbm_gdb.c:795
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:835
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:67
      #, 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:131
      #, fuzzy
      msgid "Target"
      msgstr "Pages"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:523
      msgid "Breakpoints"
      msgstr "断点"
      
      #: ../debugger/src/tabs.c:137
      #, fuzzy
      msgid "Watch"
      msgstr "观察点"
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:143
      #, fuzzy
      msgid "Call Stack"
      msgstr "堆栈(_K)"
      
      #: ../debugger/src/tabs.c:146
      #, fuzzy
      msgid "Debug Terminal"
      msgstr "在终端中运行"
      
      #: ../debugger/src/tabs.c:149
      #, fuzzy
      msgid "Debugger Messages"
      msgstr "调试器"
      
      #: ../debugger/src/keys.c:48
      #, fuzzy
      msgid "Run / Continue"
      msgstr "继续(_C)"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      #, fuzzy
      msgid "Restart"
      msgstr "正在启动"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:67 ../scope/src/scope.c:164
      #, fuzzy
      msgid "Step into"
      msgstr "单步进入(_I)"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:68 ../scope/src/scope.c:165
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:69 ../scope/src/scope.c:166
      #, fuzzy
      msgid "Step out"
      msgstr "单步进入(_I)"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:65 ../scope/src/scope.c:162
      #, fuzzy
      msgid "Run to cursor"
      msgstr "运行到位置"
      
      #: ../debugger/src/keys.c:55
      #, fuzzy
      msgid "Add / Remove breakpoint"
      msgstr "添加/删除断点。"
      
      #: ../debugger/src/keys.c:56
      #, fuzzy
      msgid "Jump to the current instruction"
      msgstr "完成当前执行的函数。"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      #, fuzzy
      msgid "Run"
      msgstr "运行(_R)"
      
      #: ../debugger/src/btnpanel.c:131
      #, fuzzy
      msgid "Settings"
      msgstr "正在启动"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:153
      #, fuzzy
      msgid "Continue"
      msgstr "继续(_C)"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      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:44
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../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 ""
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:177
      #, fuzzy
      msgid "Toggle documentation tab"
      msgstr "文件交互"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:185
      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:1783
      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:2063
      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:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:518
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:529
      #, fuzzy
      msgid "_Search for:"
      msgstr "插入环境"
      
      #: ../geanyctags/src/geanyctags.c:547
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:483
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:484
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:554
      #: ../projectorganizer/src/prjorg-sidebar.c:485
      #, fuzzy
      msgid "pattern"
      msgstr "书信"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:162
      #: ../projectorganizer/src/prjorg-sidebar.c:506
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:566
      #: ../projectorganizer/src/prjorg-sidebar.c:509
      #, fuzzy
      msgid "_Declaration"
      msgstr "相关的"
      
      #: ../geanyctags/src/geanyctags.c:633
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:638
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:647 ../geanyctags/src/geanyctags.c:652
      #, fuzzy
      msgid "Generate tags"
      msgstr "GeanySendMail"
      
      #: ../geanyctags/src/geanyctags.c:654
      #, fuzzy
      msgid "Find tag..."
      msgstr "添加文件"
      
      #: ../geanyctags/src/geanyctags.c:659
      #, fuzzy
      msgid "Find tag"
      msgstr "添加文件"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:341
      msgid "Doc"
      msgstr "文档"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid ""
      "Call documentation viewer on current symbol. \n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
      msgid "Could not parse the output of command"
      msgstr "无法解析命令的输出"
      
      #: ../geanydoc/src/geanydoc.c:351
      msgid "Put output in buffer"
      msgstr "输出到缓冲区"
      
      #: ../geanydoc/src/geanydoc.c:363
      msgid "Command 0:"
      msgstr "命令0:"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 1:"
      msgstr "命令1:"
      
      #: ../geanydoc/src/geanydoc.c:387
      msgid "%w will be replaced with current word\n"
      msgstr "%w 将被替换为当前词\n"
      
      #: ../geanydoc/src/geanydoc.c:434
      msgid "Document current word"
      msgstr "文件当前词"
      
      #: ../geanydoc/src/geanydoc.c:435
      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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:515
      #, fuzzy
      msgid "Select to _Line"
      msgstr "选择字体"
      
      #: ../geanyextrasel/src/extrasel.c:519
      #, fuzzy
      msgid "Select to line"
      msgstr "选择字体"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:531
      #, fuzzy
      msgid "Convert selection"
      msgstr "将选中部分左对齐"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:542
      #, fuzzy
      msgid "Select to _Anchor"
      msgstr "选择字体"
      
      #: ../geanyextrasel/src/extrasel.c:546
      #, fuzzy
      msgid "Select to anchor"
      msgstr "选择字体"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:553
      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:56
      #, fuzzy
      msgid "Documentation Generator"
      msgstr "文件交互"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:425 ../geanygendoc/src/ggd-plugin.c:436
      #, fuzzy
      msgid "Insert Documentation Comment"
      msgstr "插入环境"
      
      #: ../geanygendoc/src/ggd-plugin.c:490
      #, fuzzy
      msgid "_Document Current Symbol"
      msgstr "文件当前词"
      
      #: ../geanygendoc/src/ggd-plugin.c:491
      #, fuzzy
      msgid "Generate documentation for the current symbol"
      msgstr "为当前标记调用文档查看器。"
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:508
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:509
      #, fuzzy
      msgid "Force reloading of the configuration files"
      msgstr "显示当前文件日志"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:525
      #, fuzzy
      msgid "Open _Manual"
      msgstr "Manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:526
      msgid "Open the manual in a browser"
      msgstr ""
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:530
      #, fuzzy
      msgid "_Documentation Generator"
      msgstr "文件交互"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:629
      #, fuzzy
      msgid "General"
      msgstr "GeanySendMail"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:634
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:637
      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:647
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:649
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:656
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      #, fuzzy
      msgid "Documentation type"
      msgstr "文件交互"
      
      #: ../geanygendoc/src/ggd-plugin.c:666
      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:672
      #, fuzzy
      msgid "Global environment"
      msgstr "环境"
      
      #: ../geanygendoc/src/ggd-plugin.c:674
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:202 ../geanygendoc/src/ggd-utils.c:213
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:222
      #, 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:337
      #: ../geanyinsertnum/src/insertnum.c:486
      #, fuzzy
      msgid "Insert Numbers"
      msgstr "插入标签"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid ""
      "Insert/Fill columns with numbers.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:146
      #, fuzzy
      msgid "Counting..."
      msgstr "继续(_C)"
      
      #: ../geanyinsertnum/src/insertnum.c:194
      msgid "Preparing..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:200
      #, fuzzy
      msgid "Inserting..."
      msgstr "正在启动"
      
      #: ../geanyinsertnum/src/insertnum.c:333
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:353
      #, fuzzy
      msgid "_Start:"
      msgstr "状态(_S)"
      
      #: ../geanyinsertnum/src/insertnum.c:358
      #, fuzzy
      msgid "S_tep:"
      msgstr "单步(_S)"
      
      #: ../geanyinsertnum/src/insertnum.c:364
      #, fuzzy
      msgid "_Base:"
      msgstr "暂停(_P)"
      
      #: ../geanyinsertnum/src/insertnum.c:380
      #, fuzzy
      msgid "Letters:"
      msgstr "书信"
      
      #: ../geanyinsertnum/src/insertnum.c:383
      #, fuzzy
      msgid "_Upper"
      msgstr "更新(_U)"
      
      #: ../geanyinsertnum/src/insertnum.c:388
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:399
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:402
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:479
      #, 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:115
      #, fuzzy
      msgid "Runs LaTeX wizard"
      msgstr "运行 LaTeX 向导"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "标记选中的文字为斜体"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "标记选中的文字为粗体"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "为选中的文字添加下划线"
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "居中"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "左侧导向"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "右侧导向"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "默认使用 KOMA 脚本"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "显示额外的插件工具栏"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "插入标签"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "标签名称:"
      
      #: ../geanylatex/src/geanylatex.c:856
      #, fuzzy
      msgid "Insert Command"
      msgstr "插入环境"
      
      #: ../geanylatex/src/geanylatex.c:858
      #, fuzzy
      msgid "Command name:"
      msgstr "命令0:"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "插入引用"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "引用名称"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "标准引用(_S)"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "页引用(_P)"
      
      #: ../geanylatex/src/geanylatex.c:949
      #, fuzzy
      msgid "_Add both"
      msgstr "增加断点"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "更多"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1215
      #, fuzzy
      msgid "Package name:"
      msgstr "标签名称:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1266
      #, fuzzy
      msgid "Insert BibTeX Reference"
      msgstr "插入引用"
      
      #: ../geanylatex/src/geanylatex.c:1279
      #, fuzzy
      msgid "BibTeX reference name:"
      msgstr "引用名称"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "亲爱的先生或女士"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "亲切的问候"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      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:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1767
      #, fuzzy
      msgid "Default"
      msgstr "默认(%s)"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "文档类型:"
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "选择您想要写哪种文档"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "文章"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "报告"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "书信"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "简报"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "编码:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "为您的新文档设置编码"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      #, fuzzy
      msgid "Font size"
      msgstr "文字大小:"
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr "为您的新文档设置默认的文字大小"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr "作者:"
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr "设置 \\author 命令的值。大多数情况下这应该是您的姓名。"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr "日期:"
      
      #: ../geanylatex/src/geanylatex.c:1859
      #, 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:1871
      msgid "Title:"
      msgstr "标题:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr "设置您的新文档的标题。"
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "纸张尺寸:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr "为新建文档选择纸张格式"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      #, fuzzy
      msgid "Paper Orientation:"
      msgstr "简报"
      
      #: ../geanylatex/src/geanylatex.c:1902
      #, fuzzy
      msgid "Choose the paper orientation for the newly created document"
      msgstr "为新建文档选择纸张格式"
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "如果可能,使用 KOMA 脚本类"
      
      #: ../geanylatex/src/geanylatex.c:1925
      #, 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:1932
      msgid "Use draft mode"
      msgstr "使用草稿模式"
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr "在新建的文档中设置草稿标志使他人可以帮助调试。"
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "运行 LaTeX 向导"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "插入 \\label"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "插入 \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "插入断行 \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1960
      #, fuzzy
      msgid "Insert command"
      msgstr "插入环境"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr "开/关输入替换"
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "替换特殊字符"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr "运行插入环境对话框"
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "插入 \\item"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "将选中部分变为粗体"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "将选中部分变为斜体"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "将选中部分变为打字机字体"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "将选中部分居中"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "将选中部分左对齐"
      
      #: ../geanylatex/src/geanylatex.c:1983
      #, fuzzy
      msgid "Format selection right-aligned"
      msgstr "将选中部分右对齐"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1989
      #, fuzzy
      msgid "Insert itemize list"
      msgstr "插入 \\item"
      
      #: ../geanylatex/src/geanylatex.c:1992
      #, fuzzy
      msgid "Insert enumerate list"
      msgstr "插入 Lipsum 文本"
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1998
      #, fuzzy
      msgid "Set selection one level down"
      msgstr "将选中部分居中"
      
      #: ../geanylatex/src/geanylatex.c:2001
      #, fuzzy
      msgid "Insert \\usepackage{}"
      msgstr "插入 \\label"
      
      #: ../geanylatex/src/geanylatex.c:2004
      #, fuzzy
      msgid "Insert BibTeX reference dialog"
      msgstr "插入引用"
      
      #: ../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 是一个增强 Geany 的 LaTeX 支持的插件。\n"
      "\n"
      "请将所有 bug 或 功能请求 报告给作者。"
      
      #: ../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 ""
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      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:2141 ../geanylatex/src/geanylatex.c:2354
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX 向导(_W)"
      
      #: ../geanylatex/src/geanylatex.c:2144 ../geanylatex/src/geanylatex.c:2357
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "启动一个向导轻松创建 LaTeX 文档"
      
      #: ../geanylatex/src/geanylatex.c:2149
      #, fuzzy
      msgid "I_nsert Special Character"
      msgstr "插入特殊字符(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2151
      msgid "Helps to use some not very common letters and signs"
      msgstr "帮助您使用一些不常用的字符"
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Insert _Reference"
      msgstr "插入引用(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2163
      msgid "Inserting references to the document"
      msgstr "向文档中插入引用"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Insert _Label"
      msgstr "插入标签(_L)"
      
      #: ../geanylatex/src/geanylatex.c:2170
      msgid "Helps at inserting labels to a document"
      msgstr "帮助您向文档中插入标签"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Insert _Environment"
      msgstr "插入环境(_E)"
      
      #: ../geanylatex/src/geanylatex.c:2178
      msgid "Helps at inserting an environment a document"
      msgstr "帮助您向文档中插入环境"
      
      #: ../geanylatex/src/geanylatex.c:2184
      #, fuzzy
      msgid "Insert P_ackage"
      msgstr "插入标签(_L)"
      
      #: ../geanylatex/src/geanylatex.c:2186
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2191 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "格式(_F)"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2208
      #, fuzzy
      msgid "F_ont size"
      msgstr "文字大小:"
      
      #: ../geanylatex/src/geanylatex.c:2226
      msgid "_Special Character Replacement"
      msgstr "特殊字符替换(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "Bulk _Replace Special Characters"
      msgstr "批量替换特殊字符(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2236
      #, fuzzy
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "用 TeX 格式替换选中的特殊字符(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2244
      msgid "Toggle _Special Character Replacement"
      msgstr "开关特殊字符替换(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2255
      #, fuzzy
      msgid "Insert _Command"
      msgstr "插入环境(_E)"
      
      #: ../geanylatex/src/geanylatex.c:2257
      #, fuzzy
      msgid "Inserting customized command to document"
      msgstr "向文档中插入引用"
      
      #: ../geanylatex/src/geanylatex.c:2282
      #, fuzzy
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      #, fuzzy
      msgid "Insert B_ibTeX reference"
      msgstr "插入引用(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2293
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2298
      #, 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 ""
      
      #: ../geanylua/glspi.h:83 ../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:97
      #, 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:111 ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../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:381
      msgid "_Lua Scripts"
      msgstr "_Lua 脚本"
      
      #: ../geanylua/glspi_init.c:425
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s:从“%s”生成菜单\n"
      
      #: ../geanylua/glspi_init.c:524
      msgid "Nothing to configure!"
      msgstr "没有可以设置的!"
      
      #: ../geanylua/glspi_init.c:526
      #, 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:100 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "打开文件"
      
      #: ../geanylua/gsdlg.c:104
      msgid "Select file"
      msgstr "选择文件"
      
      #: ../geanylua/gsdlg.c:151
      msgid "Browse..."
      msgstr "浏览..."
      
      #: ../geanylua/gsdlg.c:173
      msgid "Select Color"
      msgstr "选择颜色"
      
      #: ../geanylua/gsdlg.c:204
      msgid "Choose..."
      msgstr "选择..."
      
      #: ../geanylua/gsdlg.c:225
      msgid "Select Font"
      msgstr "选择字体"
      
      #: ../geanylua/gsdlg.c:252
      msgid "Select..."
      msgstr "选取..."
      
      #: ../geanylua/glspi_sci.c:412
      #, 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:588
      #, 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:599
      #, 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:637 ../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:781
      #, 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:785
      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:153
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s:无法加载支持库 %s!\n"
      
      #: ../geanylua/geanylua.c:165
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s:初始化支持库 %s 失败!\n"
      
      #: ../geanylua/geanylua.c:170
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr "%s:支持库版本不匹配:%s %s(应为 %s)!\n"
      
      #: ../geanylua/geanylua.c:176
      #, 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:205
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s:无法找到支持库 %s!\n"
      
      #: ../geanylua/geanylua.c:224
      #, 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:429
      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:306 ../workbench/src/dialogs.c:45
      #: ../workbench/src/dialogs.c:76 ../workbench/src/dialogs.c:115
      #: ../workbench/src/dialogs.c:152 ../workbench/src/dialogs.c:221
      #: ../workbench/src/dialogs.c:350
      #, 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:134
      #: ../projectorganizer/src/prjorg-sidebar.c:460
      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
      #: ../treebrowser/src/treebrowser.c:1256
      #, 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:2261
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2267
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2273
      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:57
      #, fuzzy
      msgid "Mini Script"
      msgstr "Lua 脚本"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:246
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #, fuzzy
      msgid "_Ignore"
      msgstr "忽略全部"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      #, fuzzy
      msgid "Move to start of line"
      msgstr "将选中部分左对齐"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      #, fuzzy
      msgid "Move to End of line"
      msgstr "将选中部分左对齐"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../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 ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      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:36
      msgid ""
      "GPG encryption plugin for geany.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:40
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:48
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:60 ../geanypg/src/geanypg.c:61
      #, fuzzy
      msgid "Error from"
      msgstr "错误:"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:89
      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:39
      msgid ""
      "Alternative project support. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:228
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:242
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "项目首选项"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:376
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "新项目"
      
      #: ../geanyprj/src/menu.c:110 ../workbench/src/dialogs.c:46
      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:367
      msgid "_Project"
      msgstr "项目(_P)"
      
      #: ../geanyprj/src/menu.c:385 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "删除项目"
      
      #: ../geanyprj/src/menu.c:396 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "添加文件"
      
      #: ../geanyprj/src/menu.c:407 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "首选项"
      
      #: ../geanyprj/src/menu.c:418 ../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:1475
      msgid "H_ide Sidebar"
      msgstr "隐藏侧栏(_I)"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1497
      msgid "Project"
      msgstr "项目"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "项目“%s”已打开。"
      
      #: ../geanypy/src/geanypy-plugin.c:69
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:415
      msgid "GeanyPy"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:416
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid ""
      "Interface to different Version Control systems.\n"
      "This plugins is currently not developed actively. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:486
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc:s_spawn_sync 错误:%s"
      
      #: ../geanyvc/src/geanyvc.c:572
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:625 ../geanyvc/src/geanyvc.c:636
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc:vcdiff_file_activated:无法重命名“%s”为“%s”"
      
      #: ../geanyvc/src/geanyvc.c:662 ../geanyvc/src/geanyvc.c:712
      msgid "No changes were made."
      msgstr "没有作出任何修改。"
      
      #: ../geanyvc/src/geanyvc.c:739
      #, fuzzy
      msgid "No history available"
      msgstr "没有可用的历史"
      
      #: ../geanyvc/src/geanyvc.c:932 ../geanyvc/src/geanyvc.c:940
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "您真的想恢复:%s?"
      
      #: ../geanyvc/src/geanyvc.c:948
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "您真的想添加:%s?"
      
      #: ../geanyvc/src/geanyvc.c:955
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "您真的想移除:%s?"
      
      #: ../geanyvc/src/geanyvc.c:978
      msgid "Do you really want to update?"
      msgstr "您真的想更新吗?"
      
      #: ../geanyvc/src/geanyvc.c:1105
      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:1254
      msgid "Commit Y/N"
      msgstr "提交 Y/N"
      
      #: ../geanyvc/src/geanyvc.c:1264
      msgid "Status"
      msgstr "状态"
      
      #: ../geanyvc/src/geanyvc.c:1271
      msgid "Path"
      msgstr "路径"
      
      #: ../geanyvc/src/geanyvc.c:1335
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1381
      msgid "Commit"
      msgstr "提交"
      
      #: ../geanyvc/src/geanyvc.c:1422
      msgid "_De-/select all files"
      msgstr "全不选/全选所有文件(_D)"
      
      #: ../geanyvc/src/geanyvc.c:1466
      msgid "Commit message:"
      msgstr "提交信息:"
      
      #: ../geanyvc/src/geanyvc.c:1485
      #, fuzzy
      msgid "C_ommit"
      msgstr "提交"
      
      #: ../geanyvc/src/geanyvc.c:1566
      msgid "Nothing to commit."
      msgstr "没有可以提交的。"
      
      #: ../geanyvc/src/geanyvc.c:1612
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "初始化拼写检查时出现错误:%s"
      
      #: ../geanyvc/src/geanyvc.c:1887
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "为插件创建的文档页设置已更改标记"
      
      #: ../geanyvc/src/geanyvc.c:1890
      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:1898
      msgid "Confirm adding new files to a VCS"
      msgstr "确认添加新文件到VCS"
      
      #: ../geanyvc/src/geanyvc.c:1901
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr "添加新文件到VCS时显示一个确认对话框。"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Maximize commit dialog"
      msgstr "最大化提交对话框"
      
      #: ../geanyvc/src/geanyvc.c:1908
      msgid "Show commit dialog maximize."
      msgstr "最大化显示提交对话框。"
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer"
      msgstr "使用外部差异查看器"
      
      #: ../geanyvc/src/geanyvc.c:1916
      msgid "Use external diff viewer for file diff."
      msgstr "使用外部差异查看器查看文件差异。"
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show VC entries at editor menu"
      msgstr "在编辑器菜单中显示VC条目"
      
      #: ../geanyvc/src/geanyvc.c:1924
      msgid "Show entries for VC functions inside editor menu"
      msgstr "在编辑器菜单中显示VC条目。"
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1931
      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:1939
      msgid "Enable CVS"
      msgstr "启用 CVS"
      
      #: ../geanyvc/src/geanyvc.c:1944
      msgid "Enable GIT"
      msgstr "启用 GIT"
      
      #: ../geanyvc/src/geanyvc.c:1949
      msgid "Enable SVN"
      msgstr "启用 SVN"
      
      #: ../geanyvc/src/geanyvc.c:1954
      msgid "Enable SVK"
      msgstr "启用 SVK"
      
      #: ../geanyvc/src/geanyvc.c:1959
      msgid "Enable Bazaar"
      msgstr "启用 Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1964
      msgid "Enable Mercurial"
      msgstr "启用 Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1970
      msgid "Spellcheck language"
      msgstr "拼写检查语言"
      
      #: ../geanyvc/src/geanyvc.c:2061
      msgid "_VC file Actions"
      msgstr "_VC 文件操作"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2067 ../geanyvc/src/geanyvc.c:2144
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "_Diff"
      msgstr "差异(_D)"
      
      #: ../geanyvc/src/geanyvc.c:2070
      msgid "Make a diff from the current active file"
      msgstr "从当前活动的文件生成差异"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2075 ../geanyvc/src/geanyvc.c:2153
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "_Revert"
      msgstr "恢复(_R)"
      
      #: ../geanyvc/src/geanyvc.c:2078
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "还原原始的工作复制文件(撤销本地编辑)。"
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2087
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2090
      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:2097 ../geanyvc/src/geanyvc.c:2163
      #: ../geanyvc/src/geanyvc.c:2204
      msgid "_History (log)"
      msgstr "历史(日志)(_H)"
      
      #: ../geanyvc/src/geanyvc.c:2100
      msgid "Shows the log of the current file"
      msgstr "显示当前文件日志"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2105
      msgid "_Original"
      msgstr "原始(_O)"
      
      #: ../geanyvc/src/geanyvc.c:2108
      #, fuzzy
      msgid "Shows the original of the current file"
      msgstr "显示当前文件的最初版本"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "_Add to Version Control"
      msgstr "添加到版本控制(_A)"
      
      #: ../geanyvc/src/geanyvc.c:2118
      msgid "Add file to repository."
      msgstr "添加文件到库。"
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "_Remove from Version Control"
      msgstr "从版本控制中移除(_R)"
      
      #: ../geanyvc/src/geanyvc.c:2126
      msgid "Remove file from repository."
      msgstr "从库中移除文件。"
      
      #: ../geanyvc/src/geanyvc.c:2141
      msgid "_Directory"
      msgstr "目录(_D)"
      
      #: ../geanyvc/src/geanyvc.c:2147
      msgid "Make a diff from the directory of the current active file"
      msgstr "从文件夹生成与当前活动文件之间的差异"
      
      #: ../geanyvc/src/geanyvc.c:2156
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr "还原当前文件夹中的原始文件(撤销本地编辑)。"
      
      #: ../geanyvc/src/geanyvc.c:2166
      msgid "Shows the log of the current directory"
      msgstr "显示当前目录日志"
      
      #: ../geanyvc/src/geanyvc.c:2180
      msgid "_Base Directory"
      msgstr "根目录(_B)"
      
      #: ../geanyvc/src/geanyvc.c:2186
      msgid "Make a diff from the top VC directory"
      msgstr "从顶层VC目录生成差异"
      
      #: ../geanyvc/src/geanyvc.c:2194
      msgid "Revert any local edits."
      msgstr "恢复所有本地编辑。"
      
      #: ../geanyvc/src/geanyvc.c:2207
      msgid "Shows the log of the top VC directory"
      msgstr "显示顶层VC目录差异"
      
      #: ../geanyvc/src/geanyvc.c:2233
      msgid "VC _Commit"
      msgstr "VC 提交(_C)"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of file"
      msgstr "显示文件差异"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of directory"
      msgstr "显示目录差异"
      
      #: ../geanyvc/src/geanyvc.c:2272
      msgid "Show diff of basedir"
      msgstr "显示根目录差异"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Commit changes"
      msgstr "提交更改"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Show status"
      msgstr "显示状态"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert single file"
      msgstr "恢复单个文件"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert directory"
      msgstr "恢复目录"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Revert base directory"
      msgstr "恢复根目录"
      
      #: ../geanyvc/src/geanyvc.c:2285
      msgid "Update file"
      msgstr "更新文件"
      
      #: ../geanyvc/src/geanyvc.c:2315
      msgid "_VC"
      msgstr "_VC"
      
      #: ../geanyvc/src/geanyvc.c:2322
      #, fuzzy
      msgid "_Version Control"
      msgstr "添加到版本控制(_A)"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "_Status"
      msgstr "状态(_S)"
      
      #: ../geanyvc/src/geanyvc.c:2346
      msgid "Show status."
      msgstr "显示状态。"
      
      #: ../geanyvc/src/geanyvc.c:2353
      #, fuzzy
      msgid "Update from remote repository."
      msgstr "从远程库更新。"
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "_Commit"
      msgstr "提交(_C)"
      
      #: ../geanyvc/src/geanyvc.c:2360
      msgid "Commit changes."
      msgstr "提交更改。"
      
      #: ../geniuspaste/src/geniuspaste.c:101
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:122
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "未找到字典 %s!\n"
      
      #: ../geniuspaste/src/geniuspaste.c:141
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:791
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:792
      #, 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:804
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:824
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "打开脚本文件失败。"
      
      #: ../geniuspaste/src/geniuspaste.c:825
      #, 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:829
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:831
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:833 ../geniuspaste/src/geniuspaste.c:850
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "取回 GDB 工作路径设置失败"
      
      #: ../geniuspaste/src/geniuspaste.c:844
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "打开脚本文件失败。"
      
      #: ../geniuspaste/src/geniuspaste.c:845
      #, 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:849
      msgid "Unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:862
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:863
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:881
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:894
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:914
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "选择文件"
      
      #: ../geniuspaste/src/geniuspaste.c:917
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:938
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:959
      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:58
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1386 ../pohelper/src/gph-plugin.c:1595
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "显示当前文件日志"
      
      #: ../git-changebar/src/gcb-plugin.c:1411 ../pohelper/src/gph-plugin.c:1620
      #, fuzzy, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "取回 GDB 工作路径设置失败"
      
      #: ../git-changebar/src/gcb-plugin.c:1414 ../pohelper/src/gph-plugin.c:1623
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "显示当前文件日志"
      
      #: ../git-changebar/src/gcb-plugin.c:1491
      msgid "Undo Git hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1499
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "返回上一个对话框。"
      
      #: ../git-changebar/src/gcb-plugin.c:1501
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "单步进入下一行。"
      
      #: ../git-changebar/src/gcb-plugin.c:1503
      msgid "Undo hunk at the cursor position"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1651 ../pohelper/src/gph-plugin.c:1390
      #: ../pohelper/src/gph-plugin.c:1725
      #, fuzzy, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "%s 插件未能正确加载。\n"
      "请检查您的安装。"
      
      #: ../keyrecord/src/keyrecord.c:154
      msgid "Start/Stop record"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:156
      msgid "Play"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:207
      msgid "Keystrokes recorder"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:208
      msgid "Allows to record some sequence of keystrokes and replay it"
      msgstr ""
      
      #: ../keyrecord/src/keyrecord.c:210
      msgid "tunyash"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:123
      #, c-format
      msgid "Operation successful! %d lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:134
      msgid "Operation successful! No lines removed."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:142
      #, c-format
      msgid "Operation successful! %d lines affected."
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:254
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:256
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:258
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "移除文件"
      
      #: ../lineoperations/src/lineoperations.c:260
      #, fuzzy
      msgid "Keep _Unique Lines"
      msgstr "移除文件"
      
      #: ../lineoperations/src/lineoperations.c:263
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "移除文件"
      
      #: ../lineoperations/src/lineoperations.c:265
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:268
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:270
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:274
      #, fuzzy
      msgid "_Line Operations"
      msgstr "二元运算"
      
      #: ../lineoperations/src/lineoperations.c:320
      #, fuzzy
      msgid "Line Operations"
      msgstr "二元运算"
      
      #: ../lineoperations/src/lineoperations.c:321
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document or selection such as, removing duplicate lines, removing empty "
      "lines, removing lines with only whitespace, and sorting lines."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:43
      #, fuzzy
      msgid "Lipsum"
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:44
      #, fuzzy
      msgid "Creating dummy text with Geany"
      msgstr "用 Geany 创建空虚的文字"
      
      #: ../lipsum/src/lipsum.c:92
      msgid "Lipsum-Generator"
      msgstr "Lipsum 生成器"
      
      #: ../lipsum/src/lipsum.c:93
      msgid "Enter the length of Lipsum text here"
      msgstr "输入 Lipsum 文本的长度"
      
      #: ../lipsum/src/lipsum.c:172
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "As you may have already noticed, GeanyLipsum has been renamed to just "
      "Lipsum. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Warning: This will not include your keybindings.\n"
      "Move now?"
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:184 ../sendmail/src/sendmail.c:396
      #, c-format
      msgid ""
      "Your configuration directory has been successfully moved from \"%s\" to \"%s"
      "\"."
      msgstr ""
      
      #: ../lipsum/src/lipsum.c:199
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please manually move the directory to the new location."
      msgstr ""
      
      #. Building menu entry
      #: ../lipsum/src/lipsum.c:222
      #, fuzzy
      msgid "_Lipsum..."
      msgstr "_Lipsum"
      
      #: ../lipsum/src/lipsum.c:223
      msgid "Include Pseudotext to your code"
      msgstr "包含 Pseudotext 到您的代码"
      
      #: ../lipsum/src/lipsum.c:237
      msgid "Insert Lipsum text"
      msgstr "插入 Lipsum 文本"
      
      #. 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:34
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:46
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:102
      msgid "Export Markdown as HTML..."
      msgstr ""
      
      #: ../markdown/src/plugin.c:176
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../markdown/src/plugin.c:278
      #, fuzzy
      msgid "Save HTML File As"
      msgstr "保存文件"
      
      #: ../markdown/src/plugin.c:306
      msgid "HTML Files"
      msgstr ""
      
      #: ../markdown/src/plugin.c:311 ../workbench/src/dialogs.c:84
      #: ../workbench/src/dialogs.c:123
      #, fuzzy
      msgid "All Files"
      msgstr "添加文件"
      
      #: ../markdown/src/plugin.c:322
      #, fuzzy, c-format
      msgid "Failed to export Markdown HTML to file '%s': %s"
      msgstr "显示当前文件日志"
      
      #: ../multiterm/src/config.vala:47
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "显示当前文件日志"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "显示当前文件日志"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #, fuzzy
      msgid "Move to message window"
      msgstr "将选中部分左对齐"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "隐藏侧栏(_I)"
      
      #: ../multiterm/src/context-menu.vala:81
      #, fuzzy
      msgid "Open Tab"
      msgstr "在终端中运行"
      
      #: ../multiterm/src/context-menu.vala:96
      #, fuzzy
      msgid "Open Window"
      msgstr "打开URI"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      #, fuzzy
      msgid "Previous tab"
      msgstr "在项目中查找"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      #, fuzzy
      msgid "Show Tabs"
      msgstr "显示状态"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "显示当前文件日志"
      
      #: ../multiterm/src/notebook.vala:202
      #, fuzzy
      msgid "New terminal"
      msgstr "在终端中运行"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      #, 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:1967
      #, fuzzy
      msgid "Terminal"
      msgstr "已终止"
      
      #: ../multiterm/src/tab-label.vala:84
      #, fuzzy
      msgid "Close terminal"
      msgstr "在终端中运行"
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      msgid "Unable to run command: %s"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:200
      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:40
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:41
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:440
      msgid "Go To Matching 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:1524
      #, 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:1527
      #, 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:1530
      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:1533
      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:1536
      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:1539
      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:1542
      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:1546
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1557
      #, 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:1554
      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:1560
      #, 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:40
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1424
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1550
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1767
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:41
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:42
      msgid ""
      "Formats an XML and makes it human-readable. \n"
      "This plugin currentlyhas no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:125
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:134
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:214
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:225
      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:395
      #, fuzzy
      msgid "Empty nodes"
      msgstr "(空行)"
      
      #: ../pretty-printer/src/ConfigUI.c:396
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:397
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:398
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:425
      #, fuzzy
      msgid "Indentation"
      msgstr "简报"
      
      #: ../pretty-printer/src/ConfigUI.c:430
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:454
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:40
      #, fuzzy
      msgid "Project Organizer"
      msgstr "项目首选项"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      #, fuzzy
      msgid "Find in project files"
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      #, fuzzy
      msgid "Find Project File..."
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      #, fuzzy
      msgid "Find project file"
      msgstr "选择文件"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      #, fuzzy
      msgid "Find project symbol"
      msgstr "选择文件"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605 ../workbench/src/dialogs.c:243
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      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:617 ../workbench/src/dialogs.c:254
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      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:629
      #, fuzzy
      msgid "Index all project files:"
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:633
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:634
      #, fuzzy
      msgid "No"
      msgstr "No."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      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:644
      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:123
      #, fuzzy
      msgid "Find File"
      msgstr "添加文件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:150
      #: ../projectorganizer/src/prjorg-sidebar.c:494
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:165
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:176
      #: ../projectorganizer/src/prjorg-sidebar.c:657
      #, fuzzy
      msgid "project or external directory"
      msgstr "恢复根目录"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:304
      #, fuzzy
      msgid "Add External Directory"
      msgstr "选择字典"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:307
      #, fuzzy
      msgid "Add"
      msgstr "附加组件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:449
      #, fuzzy
      msgid "Find Symbol"
      msgstr "添加文件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1045
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1332
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1341
      #, fuzzy
      msgid "Add external directory"
      msgstr "恢复目录"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1351
      msgid "Expand all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1358
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1369
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1424
      msgid "Expand All"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1433
      #, fuzzy
      msgid "Find in Files..."
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1442
      #, fuzzy
      msgid "Find File..."
      msgstr "添加文件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1451
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "添加文件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1464
      #, 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:521
      #, 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:521
      #, 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:565 ../scope/src/scope.c:566
      #, 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/utils.c:37
      #, fuzzy, c-format
      msgid "%s: %s."
      msgstr "关闭全部(_L)"
      
      #: ../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.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../scope/src/scope.c:63
      #, fuzzy
      msgid "Setup program"
      msgstr "无程序"
      
      #: ../scope/src/scope.c:64 ../scope/src/scope.c:161
      #, fuzzy
      msgid "Run/continue"
      msgstr "继续(_C)"
      
      #: ../scope/src/scope.c:66 ../scope/src/scope.c:163
      #, fuzzy
      msgid "Run to source"
      msgstr "运行到位置"
      
      #: ../scope/src/scope.c:70 ../scope/src/scope.c:167
      #, fuzzy
      msgid "Terminate"
      msgstr "已终止"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:168
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "断点"
      
      #: ../scope/src/scope.c:73 ../scope/src/scope.c:76
      #, fuzzy
      msgid "GDB command"
      msgstr "插入环境"
      
      #: ../scope/src/scope.c:74
      #, fuzzy
      msgid "Show terminal"
      msgstr "在终端中运行"
      
      #: ../scope/src/scope.c:228
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:228
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:229
      #, fuzzy
      msgid "Load"
      msgstr "加载(_L)"
      
      #: ../scope/src/scope.c:420
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:523
      #, fuzzy
      msgid "Breaks"
      msgstr "断点"
      
      #: ../scope/src/scope.c:525
      #, fuzzy
      msgid "Console"
      msgstr "控制台:"
      
      #: ../scope/src/scope.c:525
      #, 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: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:"
      
      #: ../sendmail/src/sendmail.c:45
      #, fuzzy
      msgid "SendMail"
      msgstr "GeanySendMail"
      
      #: ../sendmail/src/sendmail.c:46
      #, fuzzy
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr "一个小插件,可以使用用户喜欢的邮件程序将当前文件作为附件发送。"
      
      #: ../sendmail/src/sendmail.c:99
      msgid "Recipient's Address"
      msgstr "收件人地址"
      
      #: ../sendmail/src/sendmail.c:101
      msgid "Enter the recipient's e-mail address:"
      msgstr "输入收件人的电子邮件地址:"
      
      #: ../sendmail/src/sendmail.c:143
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr "没有找到文件名的占位符。执行的命令可能会失败。"
      
      #: ../sendmail/src/sendmail.c:149
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr "没有找到收件人地址的占位符。执行的命令可能会失败。"
      
      #: ../sendmail/src/sendmail.c:163
      msgid "Could not execute mailer. Please check your configuration."
      msgstr "无法执行邮件程序。请检查您的设置。"
      
      #: ../sendmail/src/sendmail.c:172
      msgid "Please define a mail client first."
      msgstr "请先指定一个邮件客户端。"
      
      #: ../sendmail/src/sendmail.c:177
      msgid "File has to be saved before sending."
      msgstr "文件在发送前必须保存。"
      
      #: ../sendmail/src/sendmail.c:193
      msgid "Mail"
      msgstr "邮件"
      
      #: ../sendmail/src/sendmail.c:224
      msgid "Send by mail"
      msgstr "用邮件发送"
      
      #. add a label and a text entry to the dialog
      #: ../sendmail/src/sendmail.c:314
      msgid "Path and options for the mail client:"
      msgstr "邮件客户端路径和选项:"
      
      #: ../sendmail/src/sendmail.c:322
      #, 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\""
      
      #: ../sendmail/src/sendmail.c:332
      #, fuzzy
      msgid "Show toolbar icon"
      msgstr "显示工具提示。"
      
      #: ../sendmail/src/sendmail.c:334
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr "在工具栏上显示一个图标,可以更轻松地发送文件。"
      
      #: ../sendmail/src/sendmail.c:340
      #, fuzzy
      msgid "Use dialog for entering email address of recipients"
      msgstr "使用对话框输入收件人电子邮件地址"
      
      #: ../sendmail/src/sendmail.c:365
      msgid "Send file by mail"
      msgstr "用邮件发送文件"
      
      #: ../sendmail/src/sendmail.c:385
      msgid ""
      "Renamed plugin detected!\n"
      "\n"
      "GeanySendMail has been renamed to sendmail -- you surely have already "
      "recognised it. \n"
      "Geany is able to migrate your old plugin configuration by moving the old "
      "configuration file to new location.\n"
      "Move now?"
      msgstr ""
      
      #: ../sendmail/src/sendmail.c:411
      #, c-format
      msgid ""
      "Your old configuration directory \"%s\" could not be moved to \"%s\" (%s). "
      "Please move manually the directory to the new location."
      msgstr ""
      
      #. Build up menu entry
      #: ../sendmail/src/sendmail.c:442
      #, fuzzy
      msgid "_Mail document"
      msgstr "将文档作为邮件发送"
      
      #: ../sendmail/src/sendmail.c:445
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr "将打开的文件作为未压缩的附件通过您 $PATH 中的邮件程序发送"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "尝试:"
      
      #: ../spellcheck/src/speller.c:286
      msgid "Checking"
      msgstr "检查中"
      
      #: ../spellcheck/src/speller.c:299
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "正在检查文件“%s”(第 %d 行至第 %d 行,使用 %s)"
      
      #: ../spellcheck/src/speller.c:309
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "正在检查文件“%s”(使用 %s)"
      
      #: ../spellcheck/src/speller.c:335
      msgid "The checked text is spelled correctly."
      msgstr "已检查的文字拼写正确。"
      
      #: ../spellcheck/src/speller.c:345
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "无法初始化 Enchant 库(%s)。"
      
      #: ../spellcheck/src/speller.c:346
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "未知错误(可能不支持选取的语言)"
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr "拼写检查"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "检查当前文件的拼写。"
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "运行拼写检查"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "开关输入时的拼写检查"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "选择字典"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr "在工具栏中显示开关拼写检查的项"
      
      #: ../spellcheck/src/scplugin.c:288
      #, fuzzy
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "在工具栏中显示开关拼写检查的项"
      
      #: ../spellcheck/src/scplugin.c:293
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "在编辑器菜单中显示“打开URI”"
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "在消息窗口输出拼写错误的单词和建议"
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "输入时进行拼写检查"
      
      #: ../spellcheck/src/scplugin.c:329
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "输入时进行拼写检查"
      
      #: ../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 ""
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "拼写检查时使用的语言:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "查找字典文件的目录(_D)"
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr "在这个目录中读取附加的字典文件,目前,只有 myspell 字典可以使用。"
      
      #: ../spellcheck/src/scplugin.c:385
      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:41
      msgid "Shift Column"
      msgstr "移列"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid ""
      "Shift a selection left and right.\n"
      "This plugin currently has no maintainer. Would you like to help by "
      "contributing to this plugin?"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:357 ../shiftcolumn/src/shiftcolumn.c:378
      msgid "Shift Left"
      msgstr "左移"
      
      #: ../shiftcolumn/src/shiftcolumn.c:364 ../shiftcolumn/src/shiftcolumn.c:380
      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:41
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:95
      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:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:328
      #, 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:537 ../treebrowser/src/treebrowser.c:572
      #: ../treebrowser/src/treebrowser.c:670
      #, fuzzy
      msgid "(Empty)"
      msgstr "(空行)"
      
      #: ../treebrowser/src/treebrowser.c:973
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1044
      #, fuzzy
      msgid "NewDirectory"
      msgstr "目录(_D)"
      
      #: ../treebrowser/src/treebrowser.c:1046
      #, fuzzy
      msgid "NewFile"
      msgstr "文件(_F)"
      
      #: ../treebrowser/src/treebrowser.c:1051
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1097
      #, fuzzy, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "您真的想恢复:%s?"
      
      #: ../treebrowser/src/treebrowser.c:1209
      msgid "Go _Up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1213
      #, fuzzy
      msgid "Set _Path From Document"
      msgstr "为您的新文档设置编码"
      
      #: ../treebrowser/src/treebrowser.c:1217
      #, fuzzy
      msgid "_Open Externally"
      msgstr "在终端中运行"
      
      #: ../treebrowser/src/treebrowser.c:1222
      #, fuzzy
      msgid "Open _Terminal"
      msgstr "在终端中运行"
      
      #: ../treebrowser/src/treebrowser.c:1226
      msgid "Set as _Root"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1231
      #, fuzzy
      msgid "Refres_h"
      msgstr "Series"
      
      #: ../treebrowser/src/treebrowser.c:1235
      #, fuzzy
      msgid "_Find in Files"
      msgstr "在项目中查找"
      
      #: ../treebrowser/src/treebrowser.c:1243
      #, fuzzy
      msgid "N_ew Folder"
      msgstr "选择颜色"
      
      #: ../treebrowser/src/treebrowser.c:1247
      #, fuzzy
      msgid "_New File"
      msgstr "文件(_F)"
      
      #: ../treebrowser/src/treebrowser.c:1251
      #, fuzzy
      msgid "Rena_me"
      msgstr "文件名:"
      
      #: ../treebrowser/src/treebrowser.c:1264
      #, fuzzy, c-format
      msgid "Close: %s"
      msgstr "关闭全部(_L)"
      
      #: ../treebrowser/src/treebrowser.c:1269
      #, fuzzy, c-format
      msgid "Clo_se Child Documents "
      msgstr "关闭其他文件(_H)"
      
      #: ../treebrowser/src/treebrowser.c:1274
      msgid "_Copy Full Path to Clipboard"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1283
      msgid "E_xpand All"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1287
      #, fuzzy
      msgid "Coll_apse All"
      msgstr "关闭全部(_L)"
      
      #: ../treebrowser/src/treebrowser.c:1294
      #, fuzzy
      msgid "Show Boo_kmarks"
      msgstr "书签"
      
      #: ../treebrowser/src/treebrowser.c:1299
      #, fuzzy
      msgid "Sho_w Hidden Files"
      msgstr "显示文件差异"
      
      #: ../treebrowser/src/treebrowser.c:1304
      #, fuzzy
      msgid "Show Tool_bars"
      msgstr "显示状态"
      
      #: ../treebrowser/src/treebrowser.c:1626
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1743
      msgid "Go up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1748 ../treebrowser/src/treebrowser.c:2147
      #, fuzzy
      msgid "Refresh"
      msgstr "Series"
      
      #: ../treebrowser/src/treebrowser.c:1753
      #, fuzzy
      msgid "Home"
      msgstr "Volume"
      
      #: ../treebrowser/src/treebrowser.c:1758
      #, fuzzy
      msgid "Set path from document"
      msgstr "为您的新文档设置编码"
      
      #: ../treebrowser/src/treebrowser.c:1763
      #, fuzzy
      msgid "Track path"
      msgstr "根目录:"
      
      #: ../treebrowser/src/treebrowser.c:1768
      #, fuzzy
      msgid "Hide bars"
      msgstr "隐藏侧栏(_I)"
      
      #: ../treebrowser/src/treebrowser.c:1778
      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:1786
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1811
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1954
      msgid "External open command"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1959
      #, 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:1972
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1980
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1981
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1991
      #, fuzzy
      msgid "Show icons"
      msgstr "显示图标。"
      
      #: ../treebrowser/src/treebrowser.c:1993
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1994
      #, fuzzy
      msgid "Base"
      msgstr "暂停(_P)"
      
      #: ../treebrowser/src/treebrowser.c:1995
      #, fuzzy
      msgid "Content-type"
      msgstr "内容"
      
      #: ../treebrowser/src/treebrowser.c:2001
      #, fuzzy
      msgid "Show hidden files"
      msgstr "显示文件差异"
      
      #: ../treebrowser/src/treebrowser.c:2006
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2008
      #, fuzzy
      msgid "Hide object files"
      msgstr "选择文件"
      
      #: ../treebrowser/src/treebrowser.c:2013
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2015
      #, fuzzy
      msgid "Reverse filter"
      msgstr "恢复单个文件"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2030
      #, fuzzy
      msgid "Double click open directory"
      msgstr "显示目录差异"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2045
      #, fuzzy
      msgid "Show tree lines"
      msgstr "显示工具提示。"
      
      #: ../treebrowser/src/treebrowser.c:2052
      #, fuzzy
      msgid "Show bookmarks"
      msgstr "书签"
      
      #: ../treebrowser/src/treebrowser.c:2057
      #, fuzzy
      msgid "Open new files"
      msgstr "打开文件"
      
      #: ../treebrowser/src/treebrowser.c:2137
      #, fuzzy
      msgid "Focus File List"
      msgstr "焦点书签列表"
      
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2141
      #, fuzzy
      msgid "Rename Object"
      msgstr "文件名:"
      
      #: ../treebrowser/src/treebrowser.c:2143
      #, fuzzy
      msgid "New File"
      msgstr "文件(_F)"
      
      #: ../treebrowser/src/treebrowser.c:2145
      #, fuzzy
      msgid "New Folder"
      msgstr "选择颜色"
      
      #: ../treebrowser/src/treebrowser.c:2149
      #, fuzzy
      msgid "Track Current"
      msgstr "根目录:"
      
      #: ../updatechecker/src/updatechecker.c:40
      #, fuzzy
      msgid "Updatechecker"
      msgstr "更新(_U)"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:332
      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:49
      msgid "Web helper"
      msgstr ""
      
      #: ../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 ""
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:329
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "书签"
      
      #: ../webhelper/src/gwh-plugin.c:334
      #, fuzzy
      msgid "Browser orientation"
      msgstr "简报"
      
      #: ../webhelper/src/gwh-plugin.c:335
      #, fuzzy
      msgid "Orientation of the browser widget"
      msgstr "交叉引用条目中的引用键"
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      #, fuzzy
      msgid "Browser"
      msgstr "浏览..."
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:43
      #, fuzzy
      msgid "Create new workbench"
      msgstr "恢复根目录"
      
      #: ../workbench/src/dialogs.c:74
      #, fuzzy
      msgid "Open workbench"
      msgstr "打开URI"
      
      #: ../workbench/src/dialogs.c:77
      #, fuzzy
      msgid "_Open"
      msgstr "打开URI"
      
      #: ../workbench/src/dialogs.c:80
      msgid "Workbench files (.geanywb)"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:113
      #, fuzzy
      msgid "Add project"
      msgstr "选择文件"
      
      #: ../workbench/src/dialogs.c:116 ../workbench/src/dialogs.c:153
      #, fuzzy
      msgid "_Add"
      msgstr "增加断点"
      
      #: ../workbench/src/dialogs.c:119
      #, fuzzy
      msgid "Project files (.geany)"
      msgstr "项目文件“%s”已经存在"
      
      #: ../workbench/src/dialogs.c:150
      #, fuzzy
      msgid "Add directory"
      msgstr "恢复目录"
      
      #: ../workbench/src/dialogs.c:218
      #, fuzzy
      msgid "Directory settings"
      msgstr "环境设置"
      
      #: ../workbench/src/dialogs.c:222 ../workbench/src/dialogs.c:351
      msgid "_OK"
      msgstr ""
      
      #: ../workbench/src/dialogs.c:232
      #, fuzzy
      msgid "File patterns:"
      msgstr "书信"
      
      #: ../workbench/src/dialogs.c:238
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:249
      msgid ""
      "Space separated list of patterns that are used to identify files that shall "
      "not be displayed in the directory tree."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:260
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "shall not be scanned for source files."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:268
      msgid ""
      "Note: the patterns above affect only the workbench directory and are not "
      "used in the Find in Files\n"
      "dialog."
      msgstr ""
      
      #: ../workbench/src/dialogs.c:347
      #, fuzzy
      msgid "Workbench settings"
      msgstr "环境设置"
      
      #: ../workbench/src/dialogs.c:361
      #, fuzzy
      msgid "Rescan all projects on open:"
      msgstr "在项目中查找"
      
      #: ../workbench/src/dialogs.c:366
      msgid ""
      "If the option is activated (default), then all projects will be re-scanned "
      "on opening of the workbench."
      msgstr ""
      
      #: ../workbench/src/menu.c:95
      #, fuzzy, c-format
      msgid "Could not create new workbench file: %s"
      msgstr "更新文件"
      
      #: ../workbench/src/menu.c:122
      #, c-format
      msgid "Could not open workbench file: %s"
      msgstr ""
      
      #: ../workbench/src/menu.c:139
      #, fuzzy, c-format
      msgid "Could not save workbench file: %s"
      msgstr "显示当前文件日志"
      
      #. Set metadata
      #: ../workbench/src/menu.c:177 ../workbench/src/plugin_main.c:129
      #: ../workbench/src/sidebar.c:1132
      msgid "Workbench"
      msgstr ""
      
      #. Create new menu item "New Workbench"
      #: ../workbench/src/menu.c:181
      msgid "_New..."
      msgstr ""
      
      #. Create new menu item "Open Workbench"
      #: ../workbench/src/menu.c:188
      msgid "_Open..."
      msgstr ""
      
      #. Create new menu item "Save Workbench"
      #: ../workbench/src/menu.c:195
      msgid "_Save"
      msgstr ""
      
      #. Create new menu item "Workbench Settings"
      #: ../workbench/src/menu.c:202
      #, fuzzy
      msgid "S_ettings"
      msgstr "正在启动"
      
      #. Create new menu item "Close Workbench"
      #: ../workbench/src/menu.c:209
      #, fuzzy
      msgid "_Close"
      msgstr "关闭全部(_L)"
      
      #: ../workbench/src/plugin_main.c:93 ../workbench/src/sidebar.c:589
      msgid ""
      "Create or open a workbench\n"
      "using the workbench menu."
      msgstr ""
      
      #: ../workbench/src/plugin_main.c:130
      msgid "Manage and customize multiple projects."
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:232
      #, fuzzy, c-format
      msgid "Could not add project file: %s"
      msgstr "在项目中查找"
      
      #: ../workbench/src/popup_menu.c:518
      #, fuzzy
      msgid "_Add project..."
      msgstr "在项目中查找"
      
      #: ../workbench/src/popup_menu.c:524
      #, fuzzy
      msgid "_Save project"
      msgstr "新项目"
      
      #: ../workbench/src/popup_menu.c:530
      #, fuzzy
      msgid "_Remove project"
      msgstr "文件名:"
      
      #: ../workbench/src/popup_menu.c:536
      #, fuzzy
      msgid "_Fold/unfold project"
      msgstr "选择文件"
      
      #: ../workbench/src/popup_menu.c:542
      msgid "_Open all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:548
      msgid "_Close all files in project"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:558
      #, fuzzy
      msgid "_Add directory..."
      msgstr "恢复目录"
      
      #: ../workbench/src/popup_menu.c:564
      #, fuzzy
      msgid "_Remove directory"
      msgstr "恢复目录"
      
      #: ../workbench/src/popup_menu.c:570
      #, fuzzy
      msgid "_Rescan directory"
      msgstr "恢复目录"
      
      #: ../workbench/src/popup_menu.c:576
      #, fuzzy
      msgid "_Directory settings"
      msgstr "目录(_D)"
      
      #: ../workbench/src/popup_menu.c:582
      #, fuzzy
      msgid "_Fold/unfold directory"
      msgstr "显示目录差异"
      
      #: ../workbench/src/popup_menu.c:588
      #, fuzzy
      msgid "_Open all files in directory"
      msgstr "恢复根目录"
      
      #: ../workbench/src/popup_menu.c:594
      #, fuzzy
      msgid "_Close all files in directory"
      msgstr "恢复根目录"
      
      #: ../workbench/src/popup_menu.c:604
      #, fuzzy
      msgid "_Open all files in folder"
      msgstr "打开文件"
      
      #: ../workbench/src/popup_menu.c:610
      msgid "_Close all files in folder"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:620
      msgid "_Expand all"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:626
      #, fuzzy
      msgid "_Collapse all"
      msgstr "关闭全部(_L)"
      
      #: ../workbench/src/popup_menu.c:636
      msgid "_Add to Workbench Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:642
      msgid "_Add to Project Bookmarks"
      msgstr ""
      
      #: ../workbench/src/popup_menu.c:648
      #, fuzzy
      msgid "_Remove from Bookmarks"
      msgstr "书签"
      
      #: ../workbench/src/sidebar.c:291
      #, fuzzy
      msgid "Base dir"
      msgstr "暂停(_P)"
      
      #: ../workbench/src/sidebar.c:324
      #, fuzzy
      msgid "No directories"
      msgstr "目录(_D)"
      
      #. *** label ***
      #: ../workbench/src/sidebar.c:587 ../workbench/src/sidebar.c:1083
      msgid "No workbench opened."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:598
      #, fuzzy, c-format
      msgid "%s: %u Projects"
      msgstr "项目"
      
      #: ../workbench/src/sidebar.c:609
      msgid ""
      "Add a project\n"
      "using the context menu."
      msgstr ""
      
      #: ../workbench/src/sidebar.c:719
      #, c-format
      msgid ""
      "%s\n"
      "Project file not found!"
      msgstr ""
      
      #: ../workbench/src/sidebar.c:733
      msgid ""
      "This project has no directories. Directories can be added to a project using "
      "the context menu."
      msgstr ""
      
      #: ../workbench/src/wb_project.c:942
      #, fuzzy, c-format
      msgid "Directory-Name: %s\n"
      msgstr "目录(_D)"
      
      #: ../workbench/src/wb_project.c:943
      #, fuzzy, c-format
      msgid "Base-Directory: %s\n"
      msgstr "根目录(_B)"
      
      #: ../workbench/src/wb_project.c:945
      #, fuzzy
      msgid "File Patterns:"
      msgstr "书信"
      
      #: ../workbench/src/wb_project.c:957
      msgid "Ignored Dir. Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:969
      msgid "Ignored File Patterns:"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:981
      #, c-format
      msgid "Number of Sub-Folders: %u\n"
      msgstr ""
      
      #: ../workbench/src/wb_project.c:982
      #, fuzzy, c-format
      msgid "Number of Files: %u\n"
      msgstr "卷号"
      
      #: ../workbench/src/wb_project.c:1006
      #, fuzzy, c-format
      msgid "Project: %s\n"
      msgstr "项目"
      
      #: ../workbench/src/wb_project.c:1007
      #, fuzzy, c-format
      msgid "File: %s\n"
      msgstr "关闭全部(_L)"
      
      #: ../workbench/src/wb_project.c:1008
      #, fuzzy, c-format
      msgid "Number of Directories: %u\n"
      msgstr "卷号"
      
      #: ../workbench/src/wb_project.c:1011
      msgid ""
      "\n"
      "The project contains unsaved changes!\n"
      msgstr ""
      
      #: ../workbench/src/workbench.c:710
      #, c-format
      msgid "File %s is not a valid workbench file!"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Create _new file"
      #~ msgstr "更新文件"
      
      #, fuzzy
      #~ msgid "Create New File"
      #~ msgstr "更新文件"
      
      #, fuzzy
      #~ msgid "Create New Directory"
      #~ msgstr "恢复根目录"
      
      #~ msgid "Call documentation viewer on current symbol."
      #~ msgstr "为当前标记调用文档查看器。"
      
      #~ msgid "Write and run Lua scripts for custom commands."
      #~ msgstr "为自定义命令编写、运行 Lua 脚本"
      
      #~ msgid "Alternative project support."
      #~ msgstr "可选的项目支持。"
      
      #~ msgid "Interface to different Version Control systems."
      #~ msgstr "不同的版本控制系统的界面。"
      
      #~ msgid "Shift a selection left and right"
      #~ msgstr "将选中部分左移或右移"
      
      #, fuzzy
      #~ msgid "Delete"
      #~ msgstr "删除项目"
      
      #, fuzzy
      #~ msgid "GeanyLipsum"
      #~ msgstr "Lipsum"
      
      #, fuzzy
      #~ msgid "System plugin directory not found."
      #~ msgstr "未找到 tty 临时目录!\n"
      
      #, 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"
      
      #~ 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 ""
      #~ "\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 "显示当前文件日志"
      
      #~ 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.32/build/0000755000175000017500000000000013204275160015606 5ustar00frlanfrlan00000000000000geany-plugins-1.32/build/commander.m40000644000175000017500000000054013132733713020017 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.32/build/debugger.m40000644000175000017500000000062213132733713017637 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.32/build/unittests.m40000644000175000017500000000046213132733713020117 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.32/build/geanyprj.m40000644000175000017500000000030713132733713017672 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYPRJ],
      [
          GP_ARG_DISABLE([GeanyPrj], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyPrj])
          AC_CONFIG_FILES([
              geanyprj/Makefile
              geanyprj/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/devhelp.m40000644000175000017500000000144113132733713017502 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.32/build/markdown.m40000644000175000017500000000510213132733713017673 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.32/build/pairtaghighlighter.m40000644000175000017500000000037113132733713021722 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.32/build/geanyctags.m40000644000175000017500000000032113132733713020174 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.32/build/vars.docs.mk0000644000175000017500000000025513132733713020046 0ustar00frlanfrlan00000000000000plugindocdir = $(docdir)/$(plugin)
      htmldocdir = $(plugindocdir)
      plugindatadir = $(pkgdatadir)/$(plugin)
      pluginlibdir = $(pkglibdir)/$(plugin)
      examplesdir = $(plugindatadir)
      geany-plugins-1.32/build/vars.auxfiles.mk0000644000175000017500000000022213132733713020730 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.docs.mk
      
      dist_plugindoc_DATA = \
      	README \
      	ChangeLog \
      	NEWS \
      	COPYING \
      	AUTHORS \
      	$(AUXFILES)
      
      EXTRA_DIST =
      geany-plugins-1.32/build/geanyminiscript.m40000644000175000017500000000035213132733713021260 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.32/build/geanyvc.m40000644000175000017500000000211413132733713017505 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.32/build/lineoperations.m40000644000175000017500000000034513132733713021110 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.32/build/geanypy.m40000644000175000017500000000312113132733713017524 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.32/build/automark.m40000644000175000017500000000045313132733713017700 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.32/build/bundled/0000755000175000017500000000000013204275160017223 5ustar00frlanfrlan00000000000000geany-plugins-1.32/build/bundled/gpgme.m40000644000175000017500000002406413132733713020575 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.32/build/status.m40000644000175000017500000000312413132733713017376 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.42])
      
          GP_COMMIT_PLUGIN_STATUS([Updatechecker])
      
          AC_CONFIG_FILES([
              updatechecker/Makefile
              updatechecker/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/autoclose.m40000644000175000017500000000046213132733713020053 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.32/build/cppcheck.m40000644000175000017500000000173613132733713017642 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.32/build/ldflags.m40000644000175000017500000000252013132733713017466 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.32/build/shiftcolumn.m40000644000175000017500000000032513132733713020406 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.32/build/geanypg.m40000644000175000017500000000165413132733713017513 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.32/build/git-changebar.m40000644000175000017500000000067613132733713020557 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.32/build/common.m40000644000175000017500000000545413132733713017353 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.32/build/geanyinsertnum.m40000644000175000017500000000034513132733713021125 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.32/build/geniuspaste.m40000644000175000017500000000054113132733713020402 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.32/build/codenav.m40000644000175000017500000000030113132733713017464 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.32/build/pohelper.m40000644000175000017500000000055213132733713017673 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.32/build/treebrowser.m40000644000175000017500000000202513132733713020415 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.32/build/geany.m40000644000175000017500000000256513132733713017166 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.32/build/scope.m40000644000175000017500000000115513171306761017170 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_SCOPE],
      [
          GP_ARG_DISABLE([Scope], [auto])
          GP_CHECK_PLUGIN_GTK2_ONLY([Scope])
      
          case "$host_os" in
              cygwin* | mingw* | win32*)
                  PTY_LIBS=""
                  ;;
      
              *)
                  GP_CHECK_PLUGIN_DEPS([scope], [VTE],
                                       [vte >= 0.17])
                  AC_CHECK_HEADERS([util.h pty.h libutil.h])
                  PTY_LIBS="-lutil"
                  ;;
          esac
      
          AC_SUBST(PTY_LIBS)
      
          GP_COMMIT_PLUGIN_STATUS([Scope])
      
          AC_CONFIG_FILES([
              scope/Makefile
              scope/data/Makefile
              scope/docs/Makefile
              scope/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/geanynumberedbookmarks.m40000644000175000017500000000041513132733713022611 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYNUMBEREDBOOKMARKS],
      [
          GP_ARG_DISABLE([GeanyNumberedBookmarks], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyNumberedBookmarks])
          AC_CONFIG_FILES([
              geanynumberedbookmarks/Makefile
              geanynumberedbookmarks/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/geanymacro.m40000644000175000017500000000032113132733713020174 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYMACRO],
      [
          GP_ARG_DISABLE([GeanyMacro], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyMacro])
          AC_CONFIG_FILES([
              geanymacro/Makefile
              geanymacro/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/geanygendoc.m40000644000175000017500000000146513132733713020344 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.32/build/cppcheck.mk0000644000175000017500000000027613132733713017727 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.32/build/geanyextrasel.m40000644000175000017500000000033713132733713020731 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.32/build/keyrecord.m40000644000175000017500000000032413171306761020043 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_KEYRECORD],
       [
           GP_ARG_DISABLE([keyrecord], [auto])
           GP_COMMIT_PLUGIN_STATUS([keyrecord])
           AC_CONFIG_FILES([
               keyrecord/Makefile
               keyrecord/src/Makefile
           ])
       ])
      geany-plugins-1.32/build/cflags.m40000644000175000017500000000446113132733713017317 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.32/build/multiterm.m40000644000175000017500000000046713132733713020104 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.32/build/overview.m40000644000175000017500000000035513132733713017724 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.32/build/sendmail.m40000644000175000017500000000030613171306761017650 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_SENDMAIL],
      [
          GP_ARG_DISABLE([Sendmail], [yes])
          GP_COMMIT_PLUGIN_STATUS([Sendmail])
          AC_CONFIG_FILES([
              sendmail/Makefile
              sendmail/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/webhelper.m40000644000175000017500000000224313132733713020031 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.32/build/geanydoc.m40000644000175000017500000000034713171306761017652 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYDOC],
      [
          GP_ARG_DISABLE([GeanyDoc], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyDoc])
          AC_CONFIG_FILES([
              geanydoc/Makefile
              geanydoc/src/Makefile
              geanydoc/tests/Makefile
          ])
      ])
      geany-plugins-1.32/build/expansions.m40000644000175000017500000000054113132733713020242 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.32/build/xmlsnippets.m40000644000175000017500000000032113132733713020435 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.32/build/gtk.m40000644000175000017500000000367713132733713016655 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.32/build/i18n.m40000644000175000017500000000073513171306761016641 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_I18N],
      [
          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] }'`
          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.32/build/addons.m40000644000175000017500000000027513132733713017327 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.32/build/utils.m40000644000175000017500000000227413173055174017223 0ustar00frlanfrlan00000000000000AC_DEFUN([_GP_UTILSLIB_ARG],
      [
          AC_ARG_ENABLE([utilslib],
                    [AS_HELP_STRING([--enable-utilslib],
                                    [Whether to use the utilities library [[default=auto]]])],
                    [enable_utilslib=$enableval],
                    [enable_utilslib=auto])
      ])
      
      dnl GP_CHECK_UTILSLIB(PluginName)
      dnl Check for utils library
      AC_DEFUN([GP_CHECK_UTILSLIB],
      [
          AC_REQUIRE([_GP_UTILSLIB_ARG])
          AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" != no &&
                 test "$enable_utilslib" != yes],
                [AS_IF([test "$enable_utilslib" = "no"],
                       [AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" = yes],
                              [AC_MSG_ERROR([Plugin $1 depends on utilslib which is disabled])],
                              [m4_tolower(AS_TR_SH(enable_$1))=no])],
                       [enable_utilslib=yes])])
      ])
      
      AC_DEFUN([GP_COMMIT_UTILSLIB_STATUS],
      [
          AS_IF([test "$enable_utilslib" = "yes"],
                [AC_CONFIG_FILES([
                     utils/Makefile
                     utils/src/Makefile
                 ])],
                [enable_utilslib=no])
          AM_CONDITIONAL([ENABLE_UTILSLIB], [test "$enable_utilslib" = "yes"])
          GP_STATUS_FEATURE_ADD([Utility library], [$enable_utilslib])
      ])
      geany-plugins-1.32/build/projectorganizer.m40000644000175000017500000000035713171306761021451 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_PROJECTORGANIZER],
      [
          GP_ARG_DISABLE([ProjectOrganizer], [auto])
          GP_COMMIT_PLUGIN_STATUS([ProjectOrganizer])
          AC_CONFIG_FILES([
              projectorganizer/Makefile
              projectorganizer/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/geanylua.m40000644000175000017500000000206713132733713017665 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.32/build/lipsum.m40000644000175000017500000000027513171306761017372 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_LIPSUM],
      [
          GP_ARG_DISABLE([Lipsum], [auto])
          GP_COMMIT_PLUGIN_STATUS([Lipsum])
          AC_CONFIG_FILES([
              lipsum/Makefile
              lipsum/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/spellcheck.m40000644000175000017500000000113213132733713020165 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.32/build/workbench.m40000644000175000017500000000035713175374171020050 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_WORKBENCH],
      [
          GP_ARG_DISABLE([Workbench], [auto])
          GP_CHECK_UTILSLIB([Workbench])
          GP_COMMIT_PLUGIN_STATUS([Workbench])
          AC_CONFIG_FILES([
              workbench/Makefile
              workbench/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/pretty-printer.m40000644000175000017500000000056113132733713021065 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.32/build/defineformat.m40000644000175000017500000000050713132733713020520 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.32/build/vars.build.mk0000644000175000017500000000210613132733713020212 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.32/build/cache/0000755000175000017500000000000013204275160016651 5ustar00frlanfrlan00000000000000geany-plugins-1.32/build/cache/intltool.m40000644000175000017500000002636113204251762020771 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)
      
      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.32/build/cache/libtool.m40000644000175000017500000112617113204251766020576 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
      # 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.32/build/cache/ltversion.m40000644000175000017500000000127313204251766021151 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.32/build/cache/nls.m40000644000175000017500000000230713132734031017706 0ustar00frlanfrlan00000000000000# nls.m4 serial 5 (gettext-0.18)
      dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software
      dnl Foundation, 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.32/build/cache/ltoptions.m40000644000175000017500000003426213204251766021163 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.32/build/cache/glib-gettext.m40000644000175000017500000003650613132734031021521 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
      ])
      
      dnl Checks for special options needed on Mac OS X.
      dnl Defines INTL_MACOSX_LIBS.
      dnl
      dnl Copied from intlmacosx.m4 in gettext, GPL.
      dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
      glib_DEFUN([glib_gt_INTL_MACOSX],
      [
        dnl Check for API introduced in Mac OS X 10.2.
        AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
          [gt_cv_func_CFPreferencesCopyAppValue],
          [gt_save_LIBS="$LIBS"
           LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
           AC_LINK_IFELSE(
             [AC_LANG_PROGRAM(
                [[#include ]],
                [[CFPreferencesCopyAppValue(NULL, NULL)]])],
             [gt_cv_func_CFPreferencesCopyAppValue=yes],
             [gt_cv_func_CFPreferencesCopyAppValue=no])
           LIBS="$gt_save_LIBS"])
        if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
          AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
            [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
        fi
        dnl Check for API introduced in Mac OS X 10.3.
        AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
          [gt_save_LIBS="$LIBS"
           LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
           AC_LINK_IFELSE(
             [AC_LANG_PROGRAM(
                [[#include ]],
                [[CFLocaleCopyCurrent();]])],
             [gt_cv_func_CFLocaleCopyCurrent=yes],
             [gt_cv_func_CFLocaleCopyCurrent=no])
           LIBS="$gt_save_LIBS"])
        if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
          AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
            [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
        fi
        INTL_MACOSX_LIBS=
        if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
          INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
        fi
        AC_SUBST([INTL_MACOSX_LIBS])
      ])
      
      # 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=
      
          glib_gt_INTL_MACOSX
      
          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 $INTL_MACOSX_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
      AU_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
        ],
        [[$0: This macro is deprecated. You should use upstream gettext instead.]])
      
      # 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.32/build/cache/pkg.m40000644000175000017500000002400513132734031017672 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.32/build/cache/ltsugar.m40000644000175000017500000001044013204251766020601 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.32/build/cache/lt~obsolete.m40000644000175000017500000001377413204251766021507 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.32/build/geanylatex.m40000644000175000017500000000036113171306761020216 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYLATEX],
      [
          GP_ARG_DISABLE([GeanyLaTeX], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyLaTeX])
          AC_CONFIG_FILES([
              geanylatex/Makefile
              geanylatex/doc/Makefile
              geanylatex/src/Makefile
          ])
      ])
      geany-plugins-1.32/build/vala.m40000644000175000017500000000326013132733713016777 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.32/keyrecord/0000755000175000017500000000000013204275163016501 5ustar00frlanfrlan00000000000000geany-plugins-1.32/keyrecord/Makefile.in0000644000175000017500000006467113204251774020566 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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 = keyrecord
      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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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 = keyrecord
      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 keyrecord/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign keyrecord/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.32/keyrecord/Makefile.am0000644000175000017500000000011713171306761020536 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk
      
      SUBDIRS = src
      plugin = keyrecord
      geany-plugins-1.32/keyrecord/AUTHORS0000644000175000017500000000005213171306761017550 0ustar00frlanfrlan00000000000000Artur Riazanov 
      geany-plugins-1.32/keyrecord/NEWS0000644000175000017500000000000013171306761017170 0ustar00frlanfrlan00000000000000geany-plugins-1.32/keyrecord/COPYING0000644000175000017500000004310313171306761017537 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.32/keyrecord/ChangeLog0000644000175000017500000000000013171306761020243 0ustar00frlanfrlan00000000000000geany-plugins-1.32/keyrecord/src/0000755000175000017500000000000013204275163017270 5ustar00frlanfrlan00000000000000geany-plugins-1.32/keyrecord/src/keyrecord.c0000644000175000017500000001451313171306761021431 0ustar00frlanfrlan00000000000000/*
       *      keyrecord.c - this file is part of Geany, a fast and lightweight IDE
       *
       *      Copyright 2007-2012 Enrico Tröger 
       *      Copyright 2007-2012 Nick Treleaven 
       *
       *      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.
       */
      
      
      
      /**
       * Keystrokes recorder plugin - plugin for recording sequences of keystrokes and replaying it
       */
      
      
      #include "geanyplugin.h"	/* plugin API, always comes first */
      #include "keybindings.h"
      #include 
      #include "Scintilla.h"	/* for the SCNotification struct */
      #include "stdio.h"
      #include 
      #include 
      #include 
      //#undef geany
      /* text to be shown in the plugin dialog */
      static GeanyPlugin* g_plugin = NULL;
      static gboolean recording;
      static GdkEventKey** recorded_pattern;
      static guint recorded_size;
      int CAPACITY = 2;
      GeanyKeyBinding *record, *play;
      GtkWidget *cur_widget;
      static gboolean is_record_key(GdkEventKey *event)
      {
      	//return (event->state & GDK_CONTROL_MASK) && (event->keyval == GDK_KEY_F1);
      	return record->key == event->keyval && (event->state & record->mods);
      }
      
      static gboolean is_play_key(GdkEventKey *event)
      {
      //	return (event->state & GDK_CONTROL_MASK) && (event->keyval == GDK_KEY_F2);
      	return play->key == event->keyval && (event->state & play->mods);
      }	
      
      
      
      static gboolean
      on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer data)
      {
      	cur_widget = widget;
      	//GeanyDocument* doc = (GeanyDocument*)data;
      	guint i;
      	GdkEventKey** tmp = NULL;
      	
      	if ((recording) && !(is_record_key(event)||is_play_key(event)))
      	{
      		GdkEventKey* new_event = g_new0(GdkEventKey, 1);
      		*new_event = *event;
      		if (recorded_size == CAPACITY)
      		{
      			tmp = g_new0(GdkEventKey*, CAPACITY * 2);
      			for (i = 0; i < recorded_size; i++)
      			   tmp[i] = recorded_pattern[i];
      			g_free(recorded_pattern);
      			recorded_pattern = tmp;
      			CAPACITY *= 2;
      		}
      		assert(recorded_size < CAPACITY);
      		if (recorded_pattern[(recorded_size)] != NULL)
      		   g_free(recorded_pattern[recorded_size]);
      		recorded_pattern[recorded_size++] = new_event;
      	}
      	
      	return FALSE;
      }
      
      static void
      on_document_open(GObject *obj, GeanyDocument *doc, gpointer user_data)
      {
      	GeanyDocument *data;
      	ScintillaObject   *sci;
      	g_return_if_fail(DOC_VALID(doc));
      	sci = doc->editor->sci;
      	data = g_new0(GeanyDocument, 1);
      	*data = *doc;
      	plugin_signal_connect(g_plugin, G_OBJECT(sci), "key-press-event",
      			FALSE, G_CALLBACK(on_key_press), data);
      	/* This will free the data when the sci is destroyed */
      	g_object_set_data_full(G_OBJECT(sci), "keyrecord-userdata", data, g_free);
      }
      
      static PluginCallback keyrecord_callbacks[] =
      {
      	/* Set 'after' (third field) to TRUE to run the callback @a after the default handler.
      	 * If 'after' is FALSE, the callback is run @a before the default handler, so the plugin
      	 * can prevent Geany from processing the notification. Use this with care. */
      	{ "document-open",  (GCallback) &on_document_open, FALSE, NULL },
      	{ "document-new",   (GCallback) &on_document_open, FALSE, NULL },
      	//{ "editor-notify", (GCallback) &on_editor_notify, FALSE, NULL },
      	{ NULL, NULL, FALSE, NULL }
      };
      
      static void
      on_record (guint key_id)
      {
      	if (!recording)
      	{
      		recording = TRUE;
      		recorded_size = 0;
      	}
      	else
      	{
      		recording = FALSE;
      	}
      }
      
      
      static void
      on_play (guint key_id)
      {
      	//fprintf(stderr, "play: %d\n", key_id);
      	guint i;
      ////	sci_start_undo_action(doc->editor->sci);
      	if (cur_widget != NULL)
      	{
      		for (i = 0; i < (recorded_size); i++)
      			gdk_display_put_event(gtk_widget_get_display(cur_widget),
      				 (GdkEvent*)(recorded_pattern[i]));
      		
      		//return TRUE;
      	}
      //	sci_end_undo_action(doc->editor->sci);
      }
      /* Called by Geany to initialize the plugin */
      static gboolean keyrecord_init(GeanyPlugin *plugin, gpointer data)
      {
      	GeanyKeyGroup *group;
        
      	group = plugin_set_key_group (plugin, "keyrecord", 2, NULL);
      	record = keybindings_set_item (group, 0, on_record,
                              0, 0, "record", _("Start/Stop record"), NULL);
          play = keybindings_set_item (group, 1, on_play,
                              0, 0, "play", _("Play"), NULL);
          
          GeanyData* geany_data = plugin->geany_data;
          recorded_pattern = g_new0(GdkEventKey*, CAPACITY);
      
      	guint i = 0;
      	foreach_document(i) {
      		 on_document_open(NULL, documents[i], NULL);
      	}
      	recording = FALSE;
      	recorded_size = 0;
      	
      	geany_plugin_set_data(plugin, plugin, NULL);
      	
      	g_plugin = plugin;
      	
      	return TRUE;
      }
      
      
      
      
      
      
      /* Called by Geany before unloading the plugin.
       * Here any UI changes should be removed, memory freed and any other finalization done.
       * Be sure to leave Geany as it was before demo_init(). */
      static void keyrecord_cleanup(GeanyPlugin *plugin, gpointer _data)
      {
      	GeanyData* geany_data = plugin->geany_data;
          guint i;
          for (i = 0; i < CAPACITY; i++)
              if (recorded_pattern[i] != NULL) g_free(recorded_pattern[i]);
          g_free(recorded_pattern);
         
          foreach_document(i)
      	{
      		gpointer data;
      		ScintillaObject *sci;
      
      		sci = documents[i]->editor->sci;
      		data = g_object_steal_data(G_OBJECT(sci), "keyrecord-userdata");
      		g_free(data);
      	}
      
      }
      
      void geany_load_module(GeanyPlugin *plugin)
      {
      	/* main_locale_init() must be called for your package before any localization can be done */
      	main_locale_init(LOCALEDIR, GETTEXT_PACKAGE);
      	plugin->info->name = _("Keystrokes recorder");
      	plugin->info->description = _("Allows to record some sequence of keystrokes and replay it");
      	plugin->info->version = "0.11";
      	plugin->info->author =  _("tunyash");
      
      	plugin->funcs->init = keyrecord_init;
      	plugin->funcs->configure = NULL;
      	plugin->funcs->help = NULL; /* This demo has no help but it is an option */
      	plugin->funcs->cleanup = keyrecord_cleanup;
      	plugin->funcs->callbacks = keyrecord_callbacks;
      
      	GEANY_PLUGIN_REGISTER(plugin, 225);
      	
      }
      geany-plugins-1.32/keyrecord/src/Makefile.in0000644000175000017500000007110313204251774021341 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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 = keyrecord/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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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)
      keyrecord_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
      am_keyrecord_la_OBJECTS = keyrecord_la-keyrecord.lo
      keyrecord_la_OBJECTS = $(am_keyrecord_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 = $(keyrecord_la_SOURCES)
      DIST_SOURCES = $(keyrecord_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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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 = keyrecord
      geanyplugins_LTLIBRARIES = keyrecord.la
      keyrecord_la_SOURCES = keyrecord.c
      keyrecord_la_CPPFLAGS = $(AM_CPPFLAGS)
      keyrecord_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 keyrecord/src/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign keyrecord/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}; \
      	}
      
      keyrecord.la: $(keyrecord_la_OBJECTS) $(keyrecord_la_DEPENDENCIES) $(EXTRA_keyrecord_la_DEPENDENCIES) 
      	$(AM_V_CCLD)$(LINK) -rpath $(geanypluginsdir) $(keyrecord_la_OBJECTS) $(keyrecord_la_LIBADD) $(LIBS)
      
      mostlyclean-compile:
      	-rm -f *.$(OBJEXT)
      
      distclean-compile:
      	-rm -f *.tab.c
      
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyrecord_la-keyrecord.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 $@ $<
      
      keyrecord_la-keyrecord.lo: keyrecord.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(keyrecord_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT keyrecord_la-keyrecord.lo -MD -MP -MF $(DEPDIR)/keyrecord_la-keyrecord.Tpo -c -o keyrecord_la-keyrecord.lo `test -f 'keyrecord.c' || echo '$(srcdir)/'`keyrecord.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/keyrecord_la-keyrecord.Tpo $(DEPDIR)/keyrecord_la-keyrecord.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='keyrecord.c' object='keyrecord_la-keyrecord.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) $(keyrecord_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o keyrecord_la-keyrecord.lo `test -f 'keyrecord.c' || echo '$(srcdir)/'`keyrecord.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.32/keyrecord/src/Makefile.am0000644000175000017500000000037613171306761021334 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk
      plugin = keyrecord
      
      geanyplugins_LTLIBRARIES = keyrecord.la
      
      keyrecord_la_SOURCES = keyrecord.c
      keyrecord_la_CPPFLAGS = $(AM_CPPFLAGS)
      keyrecord_la_LIBADD = $(COMMONLIBS)
      
      include $(top_srcdir)/build/cppcheck.mk
      geany-plugins-1.32/keyrecord/README0000644000175000017500000000120613171306761017362 0ustar00frlanfrlan00000000000000Keystrokes recorder
      ===================
      
      .. contents::
      
      About
      -----
      
      This plugin allows you to record a sequence of keystrokes and to replay it
      several times.
      
      Features
      --------
      
      It's only basic features at the moment.
      
      Usage
      -----
      
      After installed successfully, load the plugin in Geany's plugin manager. You
      have to set up keybindings for recording and for replaing keystrokes. Work
      with the plugin then looks like follows: [record hotkey] [keystroke] ... 
      [keystroke] [record hotkey] ... some work ... [play hotkey]. 
      
      Requirements
      ------------
      
      * GTK >= 2.8.0
      
      Contact developers
      ------------------
      
      Artur Riazanov 
      geany-plugins-1.32/depcomp0000755000175000017500000005601713204251776016104 0ustar00frlanfrlan00000000000000#! /bin/sh
      # depcomp - compile a program generating dependencies as side-effects
      
      scriptversion=2016-01-11.22; # UTC
      
      # Copyright (C) 1999-2017 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: "UTC0"
      # time-stamp-end: "; # UTC"
      # End:
      geany-plugins-1.32/pohelper/0000755000175000017500000000000013204275164016331 5ustar00frlanfrlan00000000000000geany-plugins-1.32/pohelper/Makefile.in0000644000175000017500000006467213204251775020417 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/pohelper/Makefile.am0000644000175000017500000000012313132733713020360 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk
      
      SUBDIRS = data src
      plugin = pohelper
      geany-plugins-1.32/pohelper/AUTHORS0000644000175000017500000000006013132733713017374 0ustar00frlanfrlan00000000000000Colomban Wendling 
      geany-plugins-1.32/pohelper/data/0000755000175000017500000000000013204275164017242 5ustar00frlanfrlan00000000000000geany-plugins-1.32/pohelper/data/Makefile.in0000644000175000017500000004777713204251775021337 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/pohelper/data/stats.ui0000644000175000017500000002552113132733713020743 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.32/pohelper/data/menus.ui0000644000175000017500000003007713132733713020736 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.32/pohelper/data/Makefile.am0000644000175000017500000000014513132733713021275 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.docs.mk
      plugin = pohelper
      
      dist_plugindata_DATA = menus.ui stats.ui
      geany-plugins-1.32/pohelper/NEWS0000644000175000017500000000005713132733713017031 0ustar00frlanfrlan00000000000000Translation Helper 0.1
      
          * Initial release.
      geany-plugins-1.32/pohelper/COPYING0000644000175000017500000010451313132733713017367 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.32/pohelper/ChangeLog0000644000175000017500000000000013132733713020070 0ustar00frlanfrlan00000000000000geany-plugins-1.32/pohelper/src/0000755000175000017500000000000013204275164017120 5ustar00frlanfrlan00000000000000geany-plugins-1.32/pohelper/src/Makefile.in0000644000175000017500000007153113204251775021176 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/pohelper/src/Makefile.am0000644000175000017500000000053013132733713021151 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.32/pohelper/src/gph-plugin.c0000644000175000017500000015074113171306761021347 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)
      {
        gchar *prefix = NULL;
        gchar *path;
      
      #ifdef G_OS_WIN32
        prefix = g_win32_get_package_installation_directory_of_module (NULL);
      #elif defined(__APPLE__)
        if (g_getenv ("GEANY_PLUGINS_SHARE_PATH"))
          return g_build_filename( g_getenv ("GEANY_PLUGINS_SHARE_PATH"), 
                                   PLUGIN, filename, NULL);
      #endif
        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.32/pohelper/README0000644000175000017500000000366113171306761017220 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 Translation Helper.  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.32/xmlsnippets/0000755000175000017500000000000013204275165017102 5ustar00frlanfrlan00000000000000geany-plugins-1.32/xmlsnippets/Makefile.in0000644000175000017500000006471113204251776021162 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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.32/xmlsnippets/Makefile.am0000644000175000017500000000012113132733713021126 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk
      
      SUBDIRS = src
      plugin = xmlsnippets
      geany-plugins-1.32/xmlsnippets/AUTHORS0000644000175000017500000000005513132733713020150 0ustar00frlanfrlan00000000000000Eugene Arshinov 
      geany-plugins-1.32/xmlsnippets/INSTALL0000644000175000017500000001722713132733713020142 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.32/xmlsnippets/NEWS0000644000175000017500000000000013132733713017565 0ustar00frlanfrlan00000000000000geany-plugins-1.32/xmlsnippets/COPYING0000644000175000017500000004310513132733713020136 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.32/xmlsnippets/ChangeLog0000644000175000017500000000030613132733713020651 0ustar00frlanfrlan000000000000002011-08-27  Frank Lanitz  
      
       * Adding wscript_configure to fix make distcheck
      
      
      2010-11-13  Eugene Arshinov  
      
       * *.*:
         Initial import
      geany-plugins-1.32/xmlsnippets/src/0000755000175000017500000000000013204275165017671 5ustar00frlanfrlan00000000000000geany-plugins-1.32/xmlsnippets/src/Makefile.in0000644000175000017500000014314213204251776021745 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2017 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/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/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/keyrecord.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/lipsum.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/sendmail.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/utils.m4 $(top_srcdir)/build/vala.m4 \
      	$(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/workbench.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__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__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/cppcheck.mk \
      	$(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@
      INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
      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)
      TESTS = $(check_PROGRAMS)
      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 $(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
      
      # 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 $(check_PROGRAMS)
      	@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 $$?
      xmlsnippets-check.log: xmlsnippets-check$(EXEEXT)
      	@p='xmlsnippets-check$(EXEEXT)'; \
      	b='xmlsnippets-check'; \
      	$(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
      @HAVE_CPPCHECK_FALSE@check-local:
      check-am: all-am
      	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
      	$(MAKE) $(AM_MAKEFLAGS) check-TESTS 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:
      	-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-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-TESTS 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 recheck 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.32/xmlsnippets/src/xmlsnippets.h0000644000175000017500000000240213132733713022424 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.32/xmlsnippets/src/Makefile.am0000644000175000017500000000113113202315241021705 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)
      TESTS = $(check_PROGRAMS)
      
      include $(top_srcdir)/build/cppcheck.mk
      geany-plugins-1.32/xmlsnippets/src/plugin.h0000644000175000017500000000171513132733713021342 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.32/xmlsnippets/src/tests.c0000644000175000017500000001331313202315241021164 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 (g_strcmp0(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.32/xmlsnippets/src/test-stubs.h0000644000175000017500000000234613132733713022162 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.32/xmlsnippets/src/plugin.c0000644000175000017500000000553213171306761021340 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;
      	gboolean handled = FALSE;
      
      	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;
      				gchar *sel;
      
      				/* Grab the last 512 characters or so */
      				min = pos - 512;
      				if (min < 0) min = 0;
      				size = pos - min;
      
      				sel = sci_get_contents_range(editor->sci, min, pos);
      
      				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);
      					handled = TRUE;
      				}
      
      				g_free(sel);
      			}
      		}
      	}
      	return handled;
      }
      
      #endif
      geany-plugins-1.32/xmlsnippets/src/test-stubs.c0000644000175000017500000000462413132733713022156 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. "